Selenium: ActionChains

Selenium: ActionChainsActionChains是一种低级别的自动化交互方法,例如鼠标移动,鼠标按钮操作,按键操作和上下文菜单交互。这对于执行更复杂的操作非常有用,例如悬停和拖放。生成用户操作。在ActionChains对象上调用操作方法时,操作存储在ActionChains对象的队列中。当您调用perform()时,事件将按它们的顺序触发排队等候。ActionChains可以用于链式::menu=driver.f…

大家好,欢迎来到IT知识分享网。Selenium: ActionChains

ActionChains是一种低级别的自动化交互方法,例如鼠标移动,鼠标按钮操作,按键操作和上下文菜单交互。这对于执行更复杂的操作非常有用,例如悬停和拖放。
 
    生成用户操作。
       在ActionChains对象上调用操作方法时,
       操作存储在ActionChains对象的队列中。
       当您调用perform()时,事件将按它们的顺序触发
       排队等候。
 
    ActionChains可以用于链式::
 
        menu = driver.find_element_by_css_selector(“.nav”)
        hidden_​​submenu = driver.find_element_by_css_selector(“.nav#submenu1”)
        ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()
 
    或者操作可以逐个排队,然后执行。::
 
        menu = driver.find_element_by_css_selector(“.nav”)
        hidden_submenu = driver.find_element_by_css_selector(“.nav #submenu1”)
        actions = ActionChains(driver)
        actions.move_to_element(menu)
        actions.click(hidden_submenu)
        actions.perform()

引入:from selenium.webdriver.common.action_chains import ActionChains

实际上ActionChains这个模块的实现的核心思想就是,当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个List里,当你调用perform()方法时,队列中的时间会依次执行

API列表:

perform(self):        —执行链中的所有动作
reset_actions(self):     —清除存储在远端的动作
click(self, on_element=None):   —鼠标左键单击
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):        —拖拽到某个元素后松开
drag_and_drop_by_offset(self, source, xoffset, yoffset):        —拖拽到某个坐标后松开
key_down(self, value, element=None):        —某个键盘键被按下
key_up(self, value, element=None):          —松开某个键
move_by_offset(self, xoffset, yoffset):     —鼠标移动到某个坐标
move_to_element(self, to_element):          —鼠标移动到某个元素
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):     —发送某些值到指定元素

 键盘操作:

from selenium.webdriver.common.keys import Keys

 #输入框输入内容
driver.find_element_by_id(“kw”).send_keys(“seleniumm”)
#删除多输入的一个 m
driver.find_element_by_id(“kw”).send_keys(Keys.BACK_SPACE)
#输入空格键+“教程”
driver.find_element_by_id(“kw”).send_keys(Keys.SPACE)
driver.find_element_by_id(“kw”).send_keys(u”教程”)
#ctrl+a 全选输入框内容
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’a’)
#ctrl+x 剪切输入框内容
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’x’)
#ctrl+v 粘贴内容到输入框
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’v’)
#通过回车键盘来代替点击操作
driver.find_element_by_id(“su”).send_keys(Keys.ENTER)
#回退键 ESC
driver.find_element_by_id(“su”).send_keys(Keys.ESCAPE)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/11655.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信