selenium2 行為鏈

2022-02-26 10:33 更新
class selenium.webdriver.common.action_chains.ActionChains(driver)

?ActionChains?可以完成簡單的交互行為,例如鼠標(biāo)移動,鼠標(biāo)點擊事件,鍵盤輸入,以及內(nèi)容菜單交互。這對于模擬那些復(fù)雜的類似于鼠標(biāo)懸停和拖拽行為很有用

產(chǎn)生用戶行為

當(dāng)你在?ActionChains?對象上調(diào)用行為方法時,這些行為會存儲在?ActionChains?對象的一個隊列里。調(diào)用?perform()?時,這些動作就以他們隊列的順序來觸發(fā)。

?ActionChains?可以使用鏈?zhǔn)侥P?

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()

或者也可以一個個排隊,然后執(zhí)行:

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()

不管怎樣,這些動作總是一個接一個按他們被調(diào)用的順序執(zhí)行。


click(on_element=None)

點擊一個元素。

參數(shù): ?on_element:?要點擊的元素,如果是?None?,點擊鼠標(biāo)當(dāng)前的位置。


click_and_hold(on_element=None)

鼠標(biāo)左鍵點擊一個元素并且保持。

參數(shù): on_element:?同?click()?類似。


double_click(on_element=None)

雙擊一個元素。

參數(shù): ?on_element:?同?click()?類似。


drag_and_drop(source, target)

鼠標(biāo)左鍵點擊?source?元素,然后移動到?target?元素釋放鼠標(biāo)按鍵。

參數(shù): ?source?:鼠標(biāo)點擊的元素 ?target?:鼠標(biāo)松開的元素。


drag_and_drop_by_offset(source, xoffset,yoffset)

拖拽目標(biāo)元素到指定的偏移點釋放。

參數(shù): ?source?:點擊的參數(shù) ?xoffset:X?偏移量?yoffset:Y?偏移量。


key_down(value,element=None)

只按下鍵盤,不釋放。我們應(yīng)該只對那些功能鍵使用(?Ctrl,?,?Alt?,?Shift?)。

參數(shù): ?value?:要發(fā)送的鍵,值在?Keys?類里有定義 ?element?:發(fā)送的目標(biāo)元素,如果是?None?,?value?會發(fā)到當(dāng)前聚焦的元素上。

例如,我們要按下 ?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)

將當(dāng)前鼠標(biāo)的位置進(jìn)行移動。

參數(shù): ?xoffset?:要移動的X偏移量,可以是正也可以是負(fù) ?yoffset?:要移動的Y偏移量,可以是正也可以是負(fù)。


move_to_element(to_element)

把鼠標(biāo)移到一個元素的中間。

參數(shù):?to_element?:目標(biāo)元素。


move_to_element_with_offset(to_element,xoffset,yoffset)

鼠標(biāo)移動到元素的指定位置,偏移量以元素的左上角為基準(zhǔn)。

參數(shù):? to_element?:目標(biāo)元素 ?xoffset?:要移動的X偏移量  ?yoffset?:要移動的Y偏移量。


perform()

執(zhí)行所有存儲的動作。


release(on_element=None)

釋放一個元素上的鼠標(biāo)按鍵。

參數(shù):? on_element?:如果為?None?,在當(dāng)前鼠標(biāo)位置上釋放。


send_keys(keys_to_send)

向當(dāng)前的焦點元素發(fā)送鍵。

參數(shù): ?keys_to_send?:要發(fā)送的鍵,修飾鍵可以到?Keys?類里找到。


send_keys_to_element(element,keys_to_send)

向指定的元素發(fā)送鍵。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號