当前位置: 首页 > 知识库问答 >
问题:

以下HTML的Selenium webdriver中出现“获取元素当前不可见,因此可能无法与之交互”错误

史洛城
2023-03-14

我在硒网络驱动程序中得到“元素当前不可见,因此可能无法与之交互”错误。

在这里,我试图选择页面文本并单击按钮进行其他操作,但是给定的元素,下面是我写的一行,在硒web驱动程序中。

driver.findElement(By.cssSelector("div.annotator-adder")).click();

下面是按钮的超文本标记语言:

div class = " annotator-adder " style = " display:block;top:359 px;左:585px”

以及使用按钮添加注释的文本选择的HTML:

"p节号="12-1-101.11.12"类="缩写ICCSECONDPARA"

共有3个答案

越麒
2023-03-14

由于等待不起作用,请尝试使用线程睡眠(6000);

你也可以尝试用javascript executor点击元素

WebElement element = driver.findElement(By.cssSelector("div.annotator-adder"));
 JavascriptExecutor executor = (JavascriptExecutor)driver;
 executor.executeScript("arguments[0].click();", element);

谢谢

楚翰
2023-03-14

您的元素似乎存在于页面上,但在浏览器视图端口中不可见。您可以先将该元素滚动到视图中,然后执行该操作。在这里查看如何将元素滚动到视图中:使用硒将元素滚动到视图中

松翔
2023-03-14

尝试使用显式等待和预期条件

WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.annotator-adder"))).click();

这将等待长达 20 秒,以便在 click() 之前元素可见。

 类似资料:
  • 我需要选择列表中的最后一项。下面的代码显示了该元素当前不可见的消息。如何解决这个问题? HTML: 列表的屏幕截图。该列表有一个搜索字段,用户可以在其中输入前缀以缩小搜索范围。

  • 问题内容: 我正在尝试单击具有文本克隆概念的范围。以下是html 我使用的javascript代码是: 我确认这是通过Firepath的元素的正确选择。 我还确保按照链接可见该元素。如何强制SeleniumWebDriver单击当前不可见的元素? 这是 计算的CSS 还尝试了以下代码: 异常: org.openqa.selenium.ElementNotVisibleException:元素当前不

  • 问题内容: 我正在尝试在Selenium Web驱动程序脚本下执行,但是几次(并非所有时间)都出现错误。有时在循环中第一次迭代,有时在2次迭代中,有时没有启动循环。它打印所有可用项目的计数正确,但是乳清试图单击项目,显示 问题答案: 终于这对我有用。元素当前不可见,因此可能无法与之交互。 最初,这就像测试只成功了5次中的2次一样。不确定有时如何运作,其他人则无法运作。 通过减少IE中的安全设置来工

  • 我正在尝试在下面执行硒Web驱动程序脚本,但是我正在获得(不是所有时间)。有时在第一次迭代的循环中,有时在2次迭代中,有时没有启动循环。它正确打印所有可用的项目计数,但乳清试图点击项目,它显示

  • 我想抓取谷歌playstore搜索结果完全呈现的网页。 完全呈现的页面具有所有搜索项,而未呈现的页面仅具有20项。(请参阅https://play.google.com/store/search?q=best 我试图用selenium抓取页面,但得到了下面的错误信息。 以下代码由Selenuim IDE编写。 我认为出现错误是因为谷歌商店搜索结果页面有“显示更多”按钮,当它满足某些特定条件时会显示

  • 我正在编写脚本,使用selenium将我的ssh密钥添加到bitket的部署密钥中。直到行 工作正常,但当弹出窗口出现时,我想在特定字段中输入键 它抛出此错误 元素当前不可见,因此可能无法与之交互。我在谷歌上搜索了这个。我开始知道,首先我需要转到此弹出窗口,然后我将能够将值传递给相应的元素。我不知道该怎么做。 请帮助我如何专注于新的弹出窗口。我也使用了时间睡眠(10),但它仍然不适合我。