場景:打開網站,獲取對Webelement「About」的引用,單擊About,再次導航並再次使用變量引用 - 導致StaleElementReference異常。這隻會發生在Selenium Java中,但是在使用Watir時,它可以正常工作。這兩個代碼片段都在下面發佈。任何人都有一個該死的線索是怎麼回事?同樣的場景 - StaleElementReferenceException與Java,但Watir很好
# Below Java code produces StaleElementReferenceException
public class StaleElementException {
public static void main(String[] args) {
ChromeDriver driver = new ChromeDriver();
driver.get("http://seleniumframework.com");
WebElement about = driver.findElementByLinkText("ABOUT");
System.out.println(about.getText());
about.click();
driver.navigate().back();
System.out.println(about.getText());
}
}
#Below Ruby Watir Code works fine
require 'watir-webdriver'
@browser = Watir::Browser.new :chrome
@browser.goto "http://seleniumframework.com"
about = @browser.link(text: 'ABOUT')
puts about.text
about.click
@browser.back
puts about.text
這是有趣的要注意。你知道Watir重新初始化之後的事件嗎?謝謝 – machzqcq 2014-11-29 04:00:22
除非你設置Watir.always_locate = false,否則它會一直查找它。 – titusfortner 2014-11-29 10:18:07
感謝您的配置設置。我可以想到其他方式可以幫助我。歡呼 – machzqcq 2014-12-02 15:44:36