用Selenium实现鼠标单击、双击、右击
2022-04-28 本文已影响0人
吱吱菌啦啦
官方文档:https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains
- ActionChains:执行pc端的鼠标点击,双击,右击,拖拽等事件。
- 原理:调用ActionChains()方法,不会立即执行,而是将所有的操作按执行顺序放在队列中,调用perform()方法时,队列中的事件会依次执行。
- 基本用法:
- 生成一个动作action = ActionChains(dirver)
- 动作添加方法1 action.方法1
- 动作添加方法2 action.方法2
- 调用perform()方法执行(action.perform())
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
class TestActionChains():
def setup(self):
self.driver = webdriver.Chrome()
# 隐式等待
self.driver.implicitly_wait(5)
self.driver.get("https://sahitest.com/demo/clicks.htm")
def teardown(self):
self.driver.quit()
def test_click(self):
"""
单击、双击、右击
:return:
"""
# 定位元素
element_click = self.driver.find_element(By.XPATH, '/html/body/form/input[3]')
element_double_click = self.driver.find_element(By.XPATH, '/html/body/form/input[2]')
element_right_click = self.driver.find_element(By.XPATH, '/html/body/form/input[4]')
# 调用ActionChains方法,生成一个动作
action = ActionChains(self.driver)
# 给动作添加方法
action.click(element_click)
action.double_click(element_double_click)
action.context_click(element_right_click)
# 调用perform()方法执行
action.perform()