我正在尝试在不推荐使用 ActionChains 的最新 Firefox(我的版本是 Mozilla Firefox 95.0.1)中模拟 contextClick 操作。所以目前使用'Actions'类及其方法来模拟上下文点击。
这是我使用指针操作模拟上下文单击的测试代码。
from marionette_driver.marionette import ActionSequence, Actions, Marionette
from marionette_driver.by import By
driver1 = Marionette()
driver1.start_session()
driver1.navigate("https://www.linkedin.com/")
element = driver1.find_element(By.LINK_TEXT, "Join now")
touchHandler = ActionSequence(driver1, "pointer", "mouse", {"pointerType":"mouse"})
touchHandler.pointer_move(0, 0, origin=element).pointer_down(button=2).pause(1500).pointer_up(button=2).perform()
touchHandler.pointer_move(10, 10, origin="viewport").pointer_down().pointer_up().pointer_down().pointer_up().perform()
在这里,发送双击以
- 首先退出上下文菜单(
button=2
表示右键单击,这会触发对特定元素的上下文单击) - 然后它将取消选择元素。
问题是在我的情况下元素被取消选择,但上下文菜单始终存在。
不知道为什么菜单没有退出虽然元素被取消选择。问题发生率为 5/10 次试验(并非总是如此)
你能帮我解决这个问题吗?