gpt4 book ai didi

javascript - 无法将 elementIsNotVisible 与 selenium webdriver 用于 javascript

转载 作者:行者123 更新时间:2023-11-27 22:34:33 26 4
gpt4 key购买 nike

我无法通过使用 Selenium JavaScript Webdriver 的 elementIsNotVisible 条件来确定元素是否不存在。该条件需要一个 webdriver.WebElement 对象,但这是不可能的,因为该元素可能已经从页面中消失,从而导致 NoSuchElementException。使用 driver.findElement() 将不起作用,因为它返回一个 WebElementPromise 对象。

driver.wait(until.elementIsNotVisible(driver.findElement(By.css('div.bg-danger > div'))));
var element = driver.findElement(By.css('div.bg-danger > div')); // WebElement
driver.wait(until.elementIsNotVisible(element)); // not a WebElementPromise

如何解决我的头发撕裂问题?

最佳答案

elementIsNotVisible创建一个条件,等待给定元素出现在 DOM 中,但当您想要验证 DOM 中是否存在元素时,用户不可见或不通过给定的定位器。

所以你无法确定 DOM 中存在该元素或不使用 elementIsNotVisible因为它假设元素位于 DOM 中现在它不可见了。

driver.findElement()返回元素或 NoSuchElementException因此您可以通过处理异常来确定元素是否存在。

确定元素存在的最佳方法尝试使用 driver.findElements()它返回元素列表或空列表。所以你只需要检查它的长度,如下所示:-

var elements = driver.findElements(By.css('div.bg-danger > div'));
if(elements.length == 0) {
console.log("element not visible");
}

关于javascript - 无法将 elementIsNotVisible 与 selenium webdriver 用于 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39245867/

26 4 0
文章推荐: javascript - Protractor Zip 文件上传
文章推荐: css - HBox 图像作为 BorderSkin
文章推荐: html - 溢出时增加
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com