鼠标操作
- 由 selenium 的 ActionChains 类来完成模拟鼠标操作。ActionChains(译:按可深柴死)
鼠标操作步骤:ActionChains
- 1、实例化
- 2、调用对元素的鼠标操作方法
- 3、 调用perform()执行。
需要引入 ActionChains 类:
from selenium.webdriver.common.action_chains import ActionChains
示例:ActionChains(driver).方法名1().context_ click() perform()
ActionChains类里面的方法行为:
初始化的时候需要传driver 对象,内置的一个空列表中:(译:)
- perform:执行所有的行为
- (译:泼峰)执行所有存储的操作
- reset_actions:将整个列表清空
- (译:瑞斯特.安可深思)清除已在本地和远程端存储的操作
- click:点击
- (译:可立克)点击一个元素。
- click_and_hold:拖拽
- (译:可立克.按得.后的)按住元素上的鼠标左键。不松
- context_click:右击
- (译:康泰克斯特.可立克)对元素执行上下文单击(右击)。
- double_click:双击
- (译:大泊儿.可立克)双击其中的一个元素。
- drag_and_drop:拖拽到目标后松开
- (译:转个.按得.赵坡)按住源元素上的鼠标左键,然后移动到目标元素并释放鼠标按钮。
- drag_and_drop_by_offset:偏移拖拽
- (译:转个.按得.赵坡.白.奥佛赛特)按住源元素上的鼠标左键,然后移动到目标偏移量并释放鼠标按钮。
- key_down:在一个元素上按住一个键不松
- (译:k当)只发送一个按键,不释放它。只能与修改键(控制,Ctrl、Alt和Shift)一起使用。
- key_up: 松开按键
- (译:K阿婆)释放修改键。
- move_by_offset:鼠标移动
- (译:目.白.奥佛赛特)将鼠标移动到当前鼠标位置的偏移量。
- move_to_element:鼠标悬浮
- (译:目.图.按了们特)将鼠标移动到元素的中间。
- move_to_element_with_offset:鼠标坐标偏移
- (译:目.图.按了们特.位子.奥佛赛特)将鼠标移动指定元素的偏移量。偏移量相对于元素的左上角。
- pause:暂停
- (译:普斯)在指定的持续时间内暂停所有输入(以秒为单位)--每个动作执行后需要暂停几秒不执行之后操作
- release:松开
- (译:瑞丽斯)释放元素上被按住的鼠标按钮。
- send_keys:输入
- (译:森德.K死)向元素发送键。
- send_keys_to_element:在元素上输入文本
- (译:森德.K死.图.按了们特)
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("http://www.baidu.com") # 找到元素 ele = driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_settingicon"]') # 1、鼠标操作实例化;鼠标悬浮在百度首页“设置”按钮上方,暂停0.5秒,点击操作,perform执行之前的所有操作 ActionChains(driver).move_to_element(ele).pause(0.5).click(ele).perform() # 2、能不用1的鼠标操作的尽量不用,鼠标操作不稳定 # ele.click()
*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!*******