gpt4 book ai didi

java - Selenium - WebDriverWait 无法等待元素,但 thread.sleep 工作正常

转载 作者:行者123 更新时间:2023-12-05 07:43:16 25 4
gpt4 key购买 nike

在我们的应用程序中,当我们尝试使用以下方法查找元素时

 **Doesn't work** 
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//h3[@class='... ']"))

**Doesn't work**
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//h3[@class='... ']"));

**Works**
Thread.sleep(3000);
driver.findElement(By.xpath("//h3[@class='... ']");

元素实际上在 2 秒内出现。

为什么 WebDriverWait 不是等待并找到元素?

有没有一种方法可以在不使用 Thread.sleep 而使用 Selenium 等待函数的情况下等待并找到元素。

最佳答案

好的,如果错误是“元素不可点击”,则 WebDriver 找到了该元素,但还不能点击。对于您的预期条件使用:

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//h3[@class='... ']"))

关于java - Selenium - WebDriverWait 无法等待元素,但 thread.sleep 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43840873/

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