为什么显式等待会等待整个等待时间,即使在等待时间结束之前可见/可单击元素

时间:2019-07-15 09:14:18

标签: selenium-webdriver selenium-chromedriver

我给了60秒的等待时间,并且我正在等待元素可单击/可见,但是脚本正在等待整个30秒,即使该元素在UI上也是可见的也可以单击?

我尝试使用最新的硒版本,尝试使用不同的等待次数,也使用不同的定位器。但这没用

1 个答案:

答案 0 :(得分:1)

原因可能在:

  1. 该元素属于iframe,因此您需要先切换到iframe,然后再尝试在其中定位任何内容
  2. 该元素属于Shadow DOM,因此您需要找到ShadowRoot对象,将其转换为WebElement并找到要单击的子元素
  3. 您的定位器不正确,请尝试获取页面源并将其保存到文件中。完成后,使用您喜欢的browser developer tools来查找元素
  4. 显式等待的语法不正确。查看Explicit WaitsHow to use Selenium to test web applications using AJAX technology以获得代码示例

展望未来,请考虑将页面源代码和代码添加到您的问题中,因为获得全面答案的机会会更高,否则我们将不得不“盲目尝试”