出于某种原因,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服务器。
答案 0 :(得分:1)
好的,我发现只有在向ChromeDriver提供--user-data-dir
选项时才会出现此问题。我每次都使用相同的目录,显然这个文件夹最终进入了一个奇怪的状态,这导致了这个问题。在测试运行开始时吹走用户数据目录似乎可以解决问题。