0

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

4

2 回答 2

0

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

为了避免在测试中提供脆弱的超时阈值,您可能希望在 Poll 实现中调用它,例如每 500 毫秒 10 次,然后相应地通过/失败

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

于 2012-07-23T11:02:40.553 回答
0

谢谢你的朋友..我可以使用 Firefox 驱动程序从 selenium 示例代码运行谷歌搜索:http: //seleniumhq.org/docs/03_webdriver.html#introducing-the-selenium-webdriver-api-by-example

现在,我尝试在获得搜索结果后单击左侧窗格中可用的“更改位置”,但没有运气。代码示例:

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 的元素检查部分或将页面从浏览器保存到本地系统后可见。

于 2012-07-31T14:49:14.073 回答