此错误消息...
UnsupportedOperationError: pointer movements relative to viewport are not supported in bridge mode
at executeLegacy (../../../../../usr/lib/node_modules/selenium-side-runner/node_modules/selenium-webdriver/lib/input.js:1129:17)
at Actions.perform (../../../../../usr/lib/node_modules/selenium-side-runner/node_modules/selenium-webdriver/lib/input.js:971:16
...意味着在桥模式下的画布中工作时,不支持相对于视口发生的指针移动。
根据集体诉讼第 6 条中的文档:
对于 W3C 操作,相对于WebElement的移动偏移量被解释为相对于视口中元素的第一个客户端矩形的中心。对于旧版操作,元素偏移量是相对于元素边界客户端 rect的左上角的。在桥接模式下将动作转换为传统协议时,必须插入一个额外的命令来将移动偏移从一个参考帧转换到另一个参考帧。这个额外的命令会导致整体延迟问题。
您可以在是否可以以编程方式确定是否使用 W3C 操作命令中找到详细讨论?
这是Selenium的一个已知问题,正在通过Not correct move pointer to the position in the element in bridge mode 进行跟踪。
ChromeDriver - 实现操作 API
当前发布的ChromeDriver 76.0.3809.12包含 Actions API 的实现。
----------ChromeDriver 76.0.3809.12 (2019-06-07)----------
Supports Chrome version 76
Resolved issue 1897: Implement Actions API [Pri-1]
链接到问题 1897:实施操作 API
切换到ChromeDriver 76.0将解决您的问题。