gpt4 book ai didi

xpath - Webdriver 中 selenium.isElementPresent 的替代方案是什么

转载 作者:行者123 更新时间:2023-12-03 15:29:56 27 4
gpt4 key购买 nike

嗨,我需要检查下拉字段是否具有给定值,但未选择这些值,因此它不会显示在下拉框中。
我有以下元素的 Xpath

//table[contains(@id,'Field')]//tr[td//span[text()='Code']]/preceding-sibling::*[1]/td//select[contains(@id,'GSRCH_FLT')]/option[text()='not=']

这是在浏览器中正确识别元​​素。但是当我使用下面的webdriver方法来验证它时
driver.findElement(By.xpath("//table[contains(@id,'Field')]//tr[td//span[text()='Code']]/preceding-sibling::*[1]/td//select[contains(@id,'GSRCH_FLT')]/option[text()='not=']")).isDisplayed();

它返回 false,因为它没有显示在框中。

你能告诉我这个的替代方案吗?

最佳答案

你要:

private boolean isElementPresent(WebDriver driver, By by){
return driver.findElements(by).count != 0;
}
findElements()这比 findElement() 更好因为如果元素不存在,它不会等待。如果您在开启隐式等待的情况下运行, findElement()查找元素将超时(这是您捕获的异常),并且需要一段时间。

关于xpath - Webdriver 中 selenium.isElementPresent 的替代方案是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13909600/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com