Python_Selenium之鼠标右键
一、步骤:
- (以百度为例)获取百度网址
- 找到需要右键的元素(定位),xpath表达式为“//*[@id='lg']/img”
- 然后,右键选择“在新标签页中打开图片”即可,在这里需要用到selenium中的ActionChains模块
二、ActionChains方法列表
click(on_element=None) ——单击鼠标左键
click_and_hold(on_element=None) ——点击鼠标左键,不松开
context_click(on_element=None) ——点击鼠标右键
double_click(on_element=None) ——双击鼠标左键
drag_and_drop(source, target) ——拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开
key_down(value, element=None) ——按下某个键盘上的键
key_up(value, element=None) ——松开某个键
move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
move_to_element(to_element) ——鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置
perform() ——执行链中的所有动作
release(on_element=None) ——在某个元素位置松开鼠标左键
send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素
三、脚本代码如下:
#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(8)
driver.get("https://www.baidu.com/")#打开百度
element=driver.find_element_by_xpath("//*[@id='lg']/img")#定位
ActionChains(driver).context_click(element).click().perform()#右键,点击
四、注意
1. 试着用火狐和谷歌浏览器测试了一下,发现界面都只能停留在右键之后,出现菜单栏,但是没有执行后面的操作。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步