JavaでSelenium WebDriverを使用しています。
Webページからすべてのリンクを取得し、各リンクを1つずつクリックしようとしています。以下のエラーが表示されます:
エラー org.openqa.selenium.StaleElementReferenceException: 要素がキャッシュに見つかりません - おそらくページが検索されてから変更されました コマンドの実行時間またはタイムアウト: 30.01 秒 このエラーに関するドキュメントについては、http ://seleniumhq.org/ を参照してください。 exceptions/stale_element_reference.html ビルド情報: バージョン: '2.25.0'、リビジョン: '17482'、時間: '2012-07-18 21:09:54'
ここに私のコードがあります:
public void getLinks()throws Exception{
try {
List<WebElement> links = driver.findElements(By.tagName("a"));
int linkcount = links.size();
System.out.println(links.size());
for (WebElement myElement : links){
String link = myElement.getText();
System.out.println(link);
System.out.println(myElement);
if (link !=""){
myElement.click();
Thread.sleep(2000);
System.out.println("third");
}
//Thread.sleep(5000);
}
}catch (Exception e){
System.out.println("error "+e);
}
}
実際、出力に表示されています
[[FirefoxDriver: XP 上の firefox (ce0da229-f77b-4fb8-b017-df517845fa78)] -> タグ名: a]
リンクとして、これらのフォーム結果を排除したい。