对于具有单个峰值元素的数组,可以使用二分搜索在 o(logn) 中完成,但是如果数组中存在多个峰值元素,我们应该使用什么方法?
---添加更多信息 ---- 峰值元素是比它的邻居更大的元素,例如,看看下面的数组,
[1,3,20,4,1,0,7,5,2]
其中有 2 个峰值,20 和 7。
我们需要设计一种算法来查找该数组中的峰值元素。
我们有一个带有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