标签: selenium selenium-webdriver webdriver webdriverwait
我试图等待预加载器出现在网站上,因为我正在使用ExpectedConditions.invisibilityOfElementLocated,但是最初当我通过类名“ DarkBg”查找预加载器时,显式等待并未等待预加载器变得不可见,但后来当我通过ID定位时,显式等待起作用并一直等到加载程序消失为止。
我已将加载程序映像及其源代码附加在一起。我想知道为什么通过类名定位器的显式等待不起作用?
答案 0 :(得分:1)
在将 ExpectedConditions invisibilityOfElementLocated()与 classname DarkBg 一起使用时,该元素似乎是一个<div>节点,似乎是<img>节点形式的实际覆盖的父级。此<div>节点仅包含 style height,并且可能比Viewport大(或超出视口),并且可以是Selenium无法与其互动的可能原因:
invisibilityOfElementLocated()
<div>
<img>
style
height
在<img>标签看来,所有必需的 style 属性都存在于 Viewport 中,并且可以通过以下形式交互width,height,top等中的
width
top
因此硒可以轻松检测到它。