我有一个关于硒的问题是否有人可以帮忙。我需要进入一个 URL 页面,该页面上的节点最初处于“已注册”状态,X 秒后,其状态将动态更改为“就绪”状态。在其状态转变为“就绪”状态之前,我可能会在 selenium 执行期间继续执行后续步骤。
这是初始代码的html代码,
<div class="icon-holder pull-left" action = "select-device" sn="FX0071234" status = "in_stock">
<i class = "...">...</i>
<div class="model-holder">
<span class="model-registered">200K</span>
</div>
<div class="active-holder">...</div>
</div>
这是 X 秒后更新的 html 代码,
<div class="icon-holder pull-left" action = "select-device" sn="FX0071234" status = "discovered">
<i class = "...">...</i>
<div class="model-holder">
<span class="model-ready">200K</span>
</div>
<div class="active-holder">...</div>
</div>
我想新建一个 WebDriverWait() Obj 来等待更改发生。这是我的代码:
new WebDriverWait(driver, 50).until(ExpectedConditions.attributeContains(
By.xpath("//span[@class = 'model-registered' and text() = '200K']"), "class", "model-ready"));
但在我的硒运行时,这段代码永远不会工作,它立即存在。有什么想法可能是错的吗?提前致谢。
等待元素更改为ready你需要诱导的状态WebDriver等待您可以使用以下解决方案:
boolean status = new WebDriverWait(driver, 20).until(ExpectedConditions.attributeContains(By.xpath("//div[@class='model-holder']/span[contains(.,'200K')]"), "class", "model-ready"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)