[英]Right Click -Selenium - Python
我有点努力寻找执行右键单击的正确方法。
这是我的代码示例:
click_Menu = driver.find_element_by_id("Menu")
print(click_Menu.text)
action.move_to_element(click_Menu)
action.context_click(on_element=click_Menu)
action.perform()
所有的导入都在那里。并且print(click_Menu.text
) => 返回“Menu”,所以元素已经找到
错误:
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
我试图添加time.sleep()
但结果是一样的。
请问有什么想法吗?
您只需要传递context_click()
中的元素,如下所示:
context_click(click_Menu)
您的有效代码行将是:
action.context_click(click_Menu)
优化你的代码块:
click_Menu = driver.find_element(By.ID, "Menu")
ActionChains(driver).move_to_element(click_Menu).context_click(click_Menu).perform()
此代码将帮助您解决问题。
from selenium.webdriver import ActionChains
识别源元素
click_Menu= driver.find_element_by_xpath("your path")
或者
click_Menu= driver.find_element_by_id("Menu")
动作链 object 创建
action = ActionChains(driver)
右键操作然后执行
action.move_to_element(click_Menu).perform()
action.context_click(click_Menu).perform()
克服许多此类错误的简单方法是添加某种延迟:
import time
time.sleep(2)
找到解决方案。
我使用的是旧的 ActionChains object。 所以我通过创建一个新的来重新实例化它。
action1 = ActionChains(driver)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.