Selenium で Web サイトを開き、xpath 経由でテキストを抽出したいと考えています。動作していますが、ウェブサイト全体が読み込まれるまで数秒待つとテキストを取得できますが、ウェブサイトが完全に読み込まれているかどうかを確認する方がよいでしょう. バックグラウンド接続 (ajax 呼び出し、GET、POST など) を確認する必要があると思いますが、それを行う最善の方法は何ですか? 現時点では、while ループでテキストを抽出しようとしています (醜い解決策):
WebDriver driver = new FirefoxDriver();
driver.get("http://www.website.com");
// Try to get text
while (true) {
try {
WebElement findElement = driver.findElement(By.xpath("expression-here"));
System.out.println(findElement.getText());
break;
// If there is no text sleep one second and try again
} catch (org.openqa.selenium.NoSuchElementException e) {
System.out.println("Waiting...");
Thread.sleep(1000);
}
}
これをどのように解決しますか?