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

时间:2012-07-23 08:49:00

标签: ajax selenium webdriver

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

2 个答案:

答案 0 :(得分:0)

如果您知道某些事件的动作(例如sendKeys,onClick,等等)会触发某些事件 - 比如Ajax请求 - 您应该使用waitFor直到满足您的条件(请参阅Advanced Usage指南)。

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

FitLibraryWeb有一些很好的,干净的抽象,但你当然需要使用Fitnesse

答案 1 :(得分: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的元素检查部分中或在将页面从浏览器保存到本地系统之后可见。