我正在尝试在 selenium 中构建一个简单的函数,它给定一个文本带回谷歌的所有结果。我正在使用 xpath 来查找所有结果元素。尽管 "//a[@class='l']" 与 firebug 一起作为合法的 xpath 工作,但当我运行代码时,结果列表为空。
public void testSearch() {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
WebElement query = driver.findElement(By.name("q"));
query.sendKeys("obama twitter");
query.submit();
long end = System.currentTimeMillis() + 5000;
while (System.currentTimeMillis() < end) {
WebElement resultsDiv = driver.findElement(By.className("gssb_e"));
if (resultsDiv.isDisplayed()) {
break;
}
}
List<WebElement> weblinks = driver.findElements(By.xpath("//a[@class='l']"));
for (WebElement suggestion : weblinks) {
System.out.println(suggestion.getText()+"\n");
System.out.println("==> "+suggestion.getAttribute("href")+"\n");
}
}