我想检查一下,如果element1或element2存在则返回true。我使用以下代码来检查元素1是否存在。现在我想检查是否存在具有类名element1或element2的元素,它应该返回为true并完成等待条件并转到下一行
driver.wait(until.elementLocated(by.className('element1')), 10000);
基本上如下? :P
driver.wait(until.elementLocated(by.className('element1 || element2')), 10000);
我的示例DOM如下所示
<div class="element1"></div>
OR
<div class="element2"></div>
如果有任何div存在,我的编码将被满足..有时网页只生成元素1,有时它只生成element2,或者有时两者都生成。
答案 0 :(得分:2)
您可以使用这样的css选择器来完成此操作:
by.cssSelector("div.element1, div.element2")
在这种情况下,逗号是OR运算符。
答案 1 :(得分:1)
以下是您的问题的解决方案 -
在Selenium 3.4.0中诱导ExplicitWait,您可以使用ExpectedConditions
的多个子句,如下所示:
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.or(
ExpectedConditions.visibilityOfElementLocated(By.className("element1")),
ExpectedConditions.visibilityOfElementLocated(By.className("element2"))));
如果这回答你的问题,请告诉我。