我如何才能等到两个元素之一可见?我目前正在使用 ExpectedConditions - 使用示例是,
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
IWebElement waitresponse = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("example')]")));
但这只与一个元素相关,我如何添加 OR?
尝试的例子,
IWebElement waitresponse = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("example')]") || (By.XPath("Example2")));
但是没有运气使用
||
也许我的语法错误?
更新以下行
IWebElement waitresponse = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("xpath1|xpath2")));
这是另一种解决方案:
var wait = new WebDriverWait(driver, TimeSpan.FromMilliseconds(RetryTimeoutMilliseconds));
wait.Until(drv => elementListToBeVisible.Any(v => drv.FindOrNull(v)?.Displayed == true));
driver= webdriver.Firefox()
def wait():
enter code here
if len(driver.find_elements_by_tag_name('whatever')) == 1:
do whatever you have to do
else:
time.sleep(5)
wait()