私の質問は簡単です-Seleniumを使用して、各ハイパーリンクが新しいページまたは新しいウィンドウで開いたり、同じWebページで開いたりするときに、どうすればリンクをクリックし続けることができますか.
たとえば、Web ページに次のリンクがあります。 ログイン サインアップ パスワードをお忘れですか? 私たちと一緒にサインアップするには、このリンクに従ってください ホーム 利用規約 プライバシー ポリシー
これは、Webページでこれらのリンクをクリックするために私が書いたコードの小さなスニペットです。
List<WebElement> elements = driver.findElements(By.tagName("a"));
//clicking all links
for (WebElement el : elements){
System.out.println("Link getting clicked" + el.getText());
el.click();
driver.navigate().back();
}
ご覧のとおり、リンクを取得して 1 つずつクリックしようとしています。ただし、最初のクリック自体の後にエラーが発生します。コンソールには、「org.openqa.selenium.StaleElementReferenceException: 要素が DOM に接続されていません」と表示されます。
リンクが同じ Web ページで開かれているため、原因はわかっていると確信していますが、戻るナビゲーションを行っているため、まったく役に立ちません。
ご意見/ご提案はありますか?