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),此方法为向一个元素输入一个字符串,参数为一个元素和一个字符串