gpt4 book ai didi

java - 检查 DOM 中是否存在元素的条件

转载 作者:行者123 更新时间:2023-12-02 01:11:19 26 4
gpt4 key购买 nike

我正在使用 if block 来检查产品是否有库存或缺货。但它没有执行 else block ,我也不想将 else 部分放在 catch block 中。

我已经使用了 isDisplayedisEnabled 但仍然无法正常工作。

try {
if (driver.findElement(By.xpath("//span[contains(text(),'Currently unavailable.')]"))
.isEnabled()) {
o1.put("STOCK", "Out of Stock");
} else {
o1.put("STOCK", "In Stock");
}
} catch (NoSuchElementException e) {
e.printStackTrace();
}

最佳答案

建议使用findElements()每当检查元素是否存在时的方法因为如果发生超时,它将返回空列表而不是异常,并且在 findElements() 的情况下,您可以免于处理异常。因此,使用下面的代码删除您不需要的 try catch

if(driver.findElements(By.xpath("//span[contains(text(),'Currently unavailable.')]")).size() > 0) {
o1.put("STOCK", "Out of Stock");
} else {
o1.put("STOCK", "In Stock");
}

正如您在 if 条件代码中提到的,如果在到达方法 .isEnabled() 之前未找到元素,它总是会引发异常。

关于java - 检查 DOM 中是否存在元素的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59354632/

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