Aru*_*run 5 xpath webdriver selenium-webdriver
嗨,我需要检查下拉字段是否有给定的值,但这些值未被选中,因此它不会显示在下拉框中.我有关于元素的Xpath
//table[contains(@id,'Field')]//tr[td//span[text()='Code']]/preceding-sibling::*[1]/td//select[contains(@id,'GSRCH_FLT')]/option[text()='not=']
Run Code Online (Sandbox Code Playgroud)
这是在浏览器中正确识别元素.但是,当我使用以下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();
Run Code Online (Sandbox Code Playgroud)
它返回false,因为它没有显示在框中.
你能告诉我替代方案吗?
你要:
private boolean isElementPresent(WebDriver driver, By by){
return driver.findElements(by).count != 0;
}
Run Code Online (Sandbox Code Playgroud)
findElements()
对此更好,findElement()
因为它不会等待元素不存在.如果您在启用隐式等待的情况下运行,findElement()
将会超时寻找元素(这是您正在捕获的异常),并且需要一段时间.
归档时间: |
|
查看次数: |
17570 次 |
最近记录: |