【发布时间】:2017-07-25 00:57:32
【问题描述】:
由于某种原因,Selenium 的“单击”命令不再适用于我的笔记本电脑。它不会引发“元素不可点击”错误或任何其他错误,它的行为就像成功但实际上没有发生点击。
我设置了一个非常简单的调试示例:一个带有 <form method="post" action="/whatever"> 的纯 HTML 页面,其中包含一个带有 type='submit' 的按钮。
查看 Selenium 日志,它似乎将 POST 命令发送到 /click 没有问题。看着chromedriver的日志,似乎在开心地点击:
[14.199][INFO]: COMMAND Click {
"button": 0
}
...
[14.202][INFO]: RESPONSE Click
为了增加神秘感,我尝试添加一个 CSS 类 my-button:hover { background-color: red }。当我尝试在按钮上执行 Selenium 的 moveToCenter 命令时,不会出现红色悬停颜色。 (悬停在其他测试机器上也能正常工作。)
所以,似乎与鼠标光标相关的东西通常无法正常工作。其他 Selenium 功能似乎还可以——例如,触发按钮上的“提交”操作就可以了。
FWIW,这发生在上周左右。我的笔记本电脑上的知识没有任何改变(比如 Chrome 更新等)。Selenium 测试在其他机器上仍然可以正常工作,比如我的 Jenkins 服务器。
【问题讨论】:
-
那么您的问题是什么?你能给我们看看你的作品吗?谢谢
-
需要更多信息,可以粘贴 DOM 和代码吗?
-
问题是,我该如何进一步调试呢? DOM 就像我说的那样,只是一个带有单个按钮的
<form>输入——那里没有什么棘手的事情。由于我使用的是 Haskell 语言绑定,因此该代码可能不是很有帮助。这很简单,只是 Haskell 版本的 "let x = findElement "my-button"; moveToCenter x; click x" 中间有一些睡眠。我可以从 Selenium/ChromeDriver 日志中看到正确的命令正在发送到 Selenium。 -
(我也试过点击
<a href="#" onclick="alert('hi')">Click me</a>之类的其他东西,也不起作用)
标签: selenium selenium-webdriver selenium-chromedriver