如何使用selenium处理谷歌搜索ajax数据



如何使用selenium处理谷歌搜索ajax数据(在谷歌搜索中键入一些字符串,不要按enter键,并在搜索文本框中检查匹配的字符串数据)?如何使用selenium RC/Webdriver获取这些数据?

如果您知道某个事件(例如sendKeys、onClick等)的操作将触发某个事件,比如Ajax请求,那么您应该使用waitFor,直到满足您的条件(请参阅高级用法指南)。

为了避免在测试中提供脆弱的超时阈值,您可能需要在轮询实现中调用此阈值,例如,每500ms调用一次10次,然后相应地通过/失败

FitLibraryWeb对此有一些不错、干净的抽象,但您当然需要使用Fitnesse

谢谢你的朋友。。我能够使用firefox驱动程序从selenium示例代码运行谷歌搜索:http://seleniumhq.org/docs/03_webdriver.html#introducing-selenium-webdriverAPI(以为例)

现在,在得到搜索结果后,我试图点击左侧窗格中的"更改位置",但没有成功。代码示例:

WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("Cheese!");
element.submit();
WebElement expandLocation = driver.findElement(By.id("expand_location_link"));
expandLocation.click();

调试信息:在视图源中,我看不到元素expand_location_link,但在firefox/chrome的元素检查部分或将页面从浏览器保存到本地系统后可以看到。

最新更新