我一直在寻找一种控制鼠标滚轮以模拟缩放动作的方法,以便UI测试在Selenium无头浏览器上运行。 这是对在Web浏览器中显示的webGL图像(通过DOM无法提供,仅画布可用)进行测试。
到目前为止,我已经能够使用pynput控制鼠标滚轮,当我在非无头浏览器中的PC上运行测试时,该方法工作正常,但在无头模式下运行时却无能为力。 我的理解是,鼠标滚轮控制是通过在屏幕上定位来完成的,而在无头模式下使用鼠标时则不存在。运行测试时,实际上是在我的PC屏幕上触发了该事件,而不是在无头浏览器中触发了该事件。
查看[ActionChains](https://seleniumhq.github.io/selenium/docs/api/py/_modules/selenium/webdriver/common/action_chains.html#ActionChains.click)类,该类在无头模式下可以很好地进行单击,拖放等操作,似乎正在使用w3c UI events。 我试图将click()函数更改为使用按钮“ 4”(也可以是鼠标滚轮)而不是“ 0”来查看是否可行,但是我收到一条错误消息,指出按钮“ 4”无效。
我现在对python / events / selenium的了解有限,以前没有人做过,这使我怀疑是否有可能。
任何帮助/提示或解决方案,将不胜感激。
谢谢, 西尔万