我的問題很簡單 - 使用Selenium,當每個超鏈接在新頁面或新窗口中打開或在同一網頁中打開時,如何繼續單擊鏈接。單擊Selenium Webdriver中的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();
}
正如你可以看到我我試圖獲得鏈接並試圖逐一點擊它們。但是,在第一次點擊後,我收到錯誤。控制檯說:「org.openqa.selenium.StaleElementReferenceException:元素不再附加到DOM」。
我很小心地知道原因,因爲鏈接在同一個網頁上打開,但我正在做一個後退導航,它根本沒有幫助我。
有什麼想法/建議嗎?
使用'.navigate()。back()'導航回頁面並不重要。在初始點擊之後,頁面正在改變,因此您必須重新提煉所有'a'元素。 – Arran