标签: staleelementreferenceexception

PageFactory中的StaleElementReference异常

我正在尝试学习PageFactory模型.我理解这样一个事实,当我们这样做时initElements,WebElements就位于其中.比如说,我点击了一个webelement,因此DOM中的其他一个元素发生了变化.现在,显然我会在StaleElementReferenceException这里得到一个.我该如何解决这个问题?

我是否应该再次发现特定的WebElement知道DOM中的WebElement属性可能发生了变化?还是有另一种方法来处理这个问题?

selenium pageobjects selenium-webdriver page-factory staleelementreferenceexception

10
推荐指数
2
解决办法
4670
查看次数

使用Page Factory设计模式在Page Object中第二次调用webelement会产生陈旧元素异常

我们有一个带有Page Object和Page Factory设计模式的UI框架.在我的一个Page Object类中,我定义了一个webelement并调用它.在我的测试步骤类中,当这是在一个页面上时,我正在调用此webelement,而当我在另一个页面上时,我再次调用此元素.下面是我的代码的样子

PageObjectClass1:

@FindBy(how=How.XPATH, using="//*[contains(text(),'Successfully')]")
@CacheLookup
public WebElement successMsg;
Run Code Online (Sandbox Code Playgroud)

testStepClass:

//on first page 
PageObjectClass1.successMsg.isDisplayed()

//Then I navigate to some other page and again call this webelement

PageObjectClass1.successMsg.isDisplayed();
Run Code Online (Sandbox Code Playgroud)

在第二次调用它时,webdriver正在给我staleElementException.此xpath是通用xpath,将在每个页面中使用.这肯定存在于DOM中,所以不确定为什么它会给我这个例外?如何在不在每个页面对象类中创建此元素的情况下使用它?

给出的例外情况是:

org.openqa.selenium.StaleElementReferenceException:陈旧元素引用:元素未附加到页面文档

java selenium pageobjects selenium-webdriver staleelementreferenceexception

0
推荐指数
1
解决办法
252
查看次数