我正在使用Selenium Chromedriver,我的问题看起来像这样:
当我使用inspect选项点击网站上的任何地方时,如果出现上述列表,则检查元素的代码如下所示:
$ python -c "import ldap"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named ldap
如何在列表出现后点击网站上的任何元素?
答案 0 :(得分:0)
查看共享的html代码段,“__ selectOverlay”可能是网页顶部的叠加层(如加载旋转轮/面板)。
要消除错误,您可以尝试以下操作 *等待面板/叠加消失 *如果有面板关闭按钮,请关闭面板。
然后点击网页上的任何元素
答案 1 :(得分:0)
根据您分享的HTML
WebElement
在我看来是 {{>> Overlay
{1}} 标记。此外,此 div
标记没有关联的 div
事件。因此,我们无法立即点击onClick()
。可能您可能尝试通过 WebElement
<在其他元素上调用 click()
方法,该元素具有临时/永久叠加 / strong> tag。
根据叠加的类型,有两种可能的解决方案如下:
div
:
在这种情况下, Temporary Overlay
将 ExplicitWait
设置为 ExpectedConditions
叠加是不可见的。
invisibilityOfElementLocated
WebDriverWait wait1 = new WebDriverWait(driver, 10);
wait1.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("ele_to_inv")));
:
使用 Permanent Overlay
直接在元素上发送 JavascriptExecutor
。
click