ActionChains 操作总结

ActionChains 操作总结

ActionChains类继承自object类,但是需要为其传入一个driver对象,即ActionChains(driver)

此类常用于模拟鼠标键盘操作,其API列表如下:

perform() 此方法执行储存的所有动作

单击

click(self, on_element=None),此方法即为鼠标单击动作,输入参数为一个元素,可以不输入

用法:ActionChains(driver).click(driver.find_element_by_id(“input”)

单击并保持

click_and_hold(self, on_element=None),此方法点击一个元素并保持,参数为一个元素

右击

context_click(self, on_element=None),此方法为右击一个元素,参数为一个元素

双击

double_click(self, on_element=None),此方法为双击一个元素,参数为一个元素

拖放(将一个元素拖至另外一个元素)

drag_and_drop(self, source, target),此方法将source元素拖放至target元素处,参数为两个元素

拖放(将一个元素拖放至另外一个位置)

drag_and_drop_by_offset(self, source, xoffset, yoffset),此方法将一个source元素拖放至xoffset, yoffset处,参数为一个元素,两个数值距离(需为整形)

按下某个按键

key_down(self, value, element=None),此方法为按下某个按键如ctrl,shift,alt,参数为一个按键和一个元素(可为空)

如模拟ctrl+c:ActionsChains(driver).key_down(Keys.CONTROL).send_keys(‘c’).key_up(Keys.CONTROL).perform()

松开一个按键

key_up(self, value, element=None),此方法为松开某个按键如ctrl,shift,alt,参数为一个按键和一个元素(可为空),需要和key_down配合使用

移动鼠标一段横纵距离

move_by_offset(self, xoffset, yoffset),此方法为移动鼠标至指定的坐标,参数为两个数值(需为整形)

移动至某个元素

move_to_element(self, to_element),此方法为移动鼠标至一个指定的元素,参数为一个元素

dri=driver.find_element_by_id(register_dir[‘id_username’])
ActionChains(driver).move_to_element(dri).click()

移动至某个元素,使用距离

move_to_element_with_offset(self, to_element, xoffset, yoffset)此方法为移动鼠标至一个指定的元素,参数为一个元素,和两个整形数字

松开鼠标

release(self, on_element=None),此方法为松开鼠标,和拖放等一起使用

键盘输入

send_keys(self, *keys_to_send),此方法为向一个元素输入一个字符串,需先找到该元素

send_keys_to_element(self, element, *keys_to_send),此方法为向一个元素输入一个字符串,参数为一个元素和一个字符串

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`ActionChains` 是 Selenium 提供的一个用于模拟用户交互操作的类,它可以用来实现鼠标、键盘等操作。使用 `ActionChains` 类,我们可以将多个操作组合起来,形成一个动作链(Action Chain),然后通过 `perform()` 方法执行这个动作链。 常用的 `ActionChains` 方法包括: - `click()`:模拟鼠标点击 - `context_click()`:模拟鼠标右键点击 - `double_click()`:模拟鼠标双击 - `move_to_element()`:将鼠标移动到指定元素上 - `drag_and_drop()`:将元素拖拽到指定位置 - `key_down()`:模拟按下键盘上的某个键 - `key_up()`:模拟释放键盘上的某个键 - `send_keys()`:模拟输入文本等操作 下面是一个使用 `ActionChains` 类实现在百度搜索框中输入文本并点击搜索按钮的示例代码: ```python from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("https://www.baidu.com") search_box = driver.find_element_by_id("kw") search_button = driver.find_element_by_id("su") # 创建一个 ActionChains 对象 actions = ActionChains(driver) # 将鼠标移动到搜索框 actions.move_to_element(search_box) # 在搜索框中输入文本 actions.send_keys("Selenium") # 将鼠标移动到搜索按钮 actions.move_to_element(search_button) # 点击搜索按钮 actions.click() # 执行所有的操作 actions.perform() ``` 这个示例代码中,我们首先通过 `find_element_by_id()` 方法找到百度首页上的搜索框和搜索按钮,然后创建一个 `ActionChains` 对象,使用 `move_to_element()` 方法将鼠标移动到搜索框上,使用 `send_keys()` 方法在搜索框中输入关键词,再使用 `move_to_element()` 方法将鼠标移动到搜索按钮上,最后使用 `click()` 方法进行点击。最后通过 `perform()` 方法执行所有的操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值