テキストを指定すると、Googleからすべての結果が返される単純な関数をセレンで構築しようとしています。すべての結果要素を見つけるために 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");
}
}