codecamp

selenium2 行为链

class selenium.webdriver.common.action_chains.ActionChains(driver)

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)
action.perform()

不管怎样,这些动作总是一个接一个按他们被调用的顺序执行。


click(on_element=None)

点击一个元素。

参数: ​on_element:​要点击的元素,如果是​None​,点击鼠标当前的位置。


click_and_hold(on_element=None)

鼠标左键点击一个元素并且保持。

参数: on_element:​同​click()​类似。


double_click(on_element=None)

双击一个元素。

参数: ​on_element:​同​click()​类似。


drag_and_drop(source, target)

鼠标左键点击​source​元素,然后移动到​target​元素释放鼠标按键。

参数: ​source​:鼠标点击的元素 ​target​:鼠标松开的元素。


drag_and_drop_by_offset(source, xoffset,yoffset)

拖拽目标元素到指定的偏移点释放。

参数: ​source​:点击的参数 ​xoffset:X​偏移量​yoffset:Y​偏移量。


key_down(value,element=None)

只按下键盘,不释放。我们应该只对那些功能键使用(​Ctrl,​,​Alt​,​Shift​)。

参数: ​value​:要发送的键,值在​Keys​类里有定义 ​element​:发送的目标元素,如果是​None​,​value​会发到当前聚焦的元素上。

例如,我们要按下 ​ctrl+c​:

ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()


key_up(value,element=None)

释放键。参考​key_down​的解释。


move_by_offset(xoffset,yoffset)

将当前鼠标的位置进行移动。

参数: ​xoffset​:要移动的X偏移量,可以是正也可以是负 ​yoffset​:要移动的Y偏移量,可以是正也可以是负。


move_to_element(to_element)

把鼠标移到一个元素的中间。

参数:​to_element​:目标元素。


move_to_element_with_offset(to_element,xoffset,yoffset)

鼠标移动到元素的指定位置,偏移量以元素的左上角为基准。

参数:​ to_element​:目标元素 ​xoffset​:要移动的X偏移量  ​yoffset​:要移动的Y偏移量。


perform()

执行所有存储的动作。


release(on_element=None)

释放一个元素上的鼠标按键。

参数:​ on_element​:如果为​None​,在当前鼠标位置上释放。


send_keys(keys_to_send)

向当前的焦点元素发送键。

参数: ​keys_to_send​:要发送的键,修饰键可以到​Keys​类里找到。


send_keys_to_element(element,keys_to_send)

向指定的元素发送键。


selenium2 异常
selenium2 警告框
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }