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

硒 - 强制点击不可见元素

司空元凯
2023-03-14

我用的是C#硒。WebDriver.2.44.0在某个第三方网站上,我试图按下一个元素并得到这个:

var myWebElement = Driver.FindElement(By.XPath("//a[.=' some value']            
myWebElement.Click();

我得到了元素,点击我得到了:

{"element not visible\n  (Session info: chrome=39.0.2171.95)\n  (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)"}

该项目是在一些子菜单显示后,我成功地按下父菜单。也放5秒睡眠保险点手风琴看的很清楚(在我眼里也是看的很清楚)。

问题 - 在第三方网站上,如何强制点击此项目?

共有3个答案

姜杜吟
2023-03-14

问题是Selenium一个接一个地执行操作,但是像“显示子菜单”这样的东西在操作之间丢失了。

为此,您可能必须使用操作链:

Actions action = new Actions(Driver);

action.MoveToElement(Driver.FindElement(By(ParentElementSelector)))
    .click()
    .MoveToElement(Driver.FindElement(By.XPath("//a[.=' some value'])))
    .click()
    .Build()
    .Perform();

这将移动到父元素,单击,然后移动到要查找的元素,然后单击。它将作为一个操作执行所有这些操作,应该能够单击子菜单元素。

魏澄邈
2023-03-14

您可以使用内置函数和WebDriver等待

var myWebElement = Driver.FindElement(By.XPath("//a[.=' some value']
WebDriverWait wait = new WebDriverWait(Driver.FindElement, TimeSpan.FromSeconds(10));
var element = wait.Until(ExpectedConditions.ElementIsVisible(myWebElement));

Actions action  = new Actions(Driver.FindElement);
action.MoveToElement(element).Perform();

myWebElement.Click();
匡晟
2023-03-14

您可以尝试通过用driver.execute_script()更改z索引来将它放到顶部。

 类似资料:
  • 当用触发时,事件错误表示元素不可见

  • 我最近将selenium升级到最新版本(2.53),将firefox升级到最新版(45.0.1)。 我在相同的网站上运行相同的代码,但我突然有很多这样的例外: Web 驱动程序异常: 消息: 元素在点 (312, 8.816665649414062) 不可单击。其他元素将收到单击: 例如: 有什么我应该注意的新东西吗?我之前的python selenium版本相当旧,而且我在Firefox 38上

  • 我正在使用selenium测试脚本。我得到以下错误和这个错误随机发生。当我跑10次时,我会得到大约两次。所以它不是真的可复制的。有人知道为什么会这样吗?我试图单击的元素在浏览器中绝对可见,并且不会四处移动,因此不需要调整大小或拖动元素。我正在使用chrome webdriver,我阅读了其他故障排除策略(调试“Element is not clickable at point”错误),它们似乎与我

  • 我有一个动态加载的页面,其中包含一个按钮。我正在尝试等待selenium使用C#绑定点击按钮。我有以下代码: 不过这不管用。click事件永远不会被触发。selenium脚本不会抛出异常警告ID为“addInspectionButton”的元素不存在。它只是不能点击它。如果我加一根线。Sleep(3000)在wait语句和我获得按钮元素句柄的那一行之间。 我没有使用预期条件.元素在这里正确点击吗?

  • 问题内容: 我的任务是编写一个解析器以单击网站上的一个按钮,但我只能单击其中一个按钮而遇到问题。以下代码适用于除一个按钮之外的所有按钮。 这是html:http: //pastebin.com/6dLF5ru8 这是源html:http: //pastebin.com/XhsedGLb python代码: 我收到此错误。 根据赛富尔,我刚刚尝试等待相同的元素不可见异常: 问题答案: 如果你看一下页

  • 用我在selenium的初学者知识,我试图找到点击元素,打开链接。这些项目的链接没有href。我如何执行点击正确的元素打开链接。 我正在使用python、selenium、chrome web驱动程序、BeautifulSoup。所有库都已更新。 下面是示例html片段,其中有一个我需要使用selenium点击的标题。请让我知道,如果你需要更多的html源。此代码来自仅限“登录”的网站。