由于某种原因,Selenium"click"命令不再适用于我的笔记本电脑。它不会抛出"元素不可点击"错误或任何东西,它表现得像成功了,但实际上没有点击发生。
我设置了一个非常简单的示例来调试:一个普通的 HTML 页面,其<form method="post" action="/whatever">
包含一个带有type='submit'
的按钮。
查看Selenium日志,它似乎正在向/click
发送POST命令而没有问题。看着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服务器。
好的,我发现这个问题仅在向 ChromeDriver 提供--user-data-dir
选项时才会发生。我每次都使用相同的目录,显然这个文件夹最终进入了一个奇怪的状态,这导致了这个问题。在测试运行开始时吹走用户数据目录似乎可以解决问题。