您好,登錄后才能下訂單哦!
一 前言
開展WEB UI自動化的核心思路,無非就是找到元素,然后操作元素這兩個內(nèi)容。在python selenium系列(二)元素定位方式一文中,已經(jīng)介紹了如何找到元素這項技能,本文將介紹第二項內(nèi)容,即如何操作已經(jīng)找到的元素。
二 操作方法分類
總體來說,可以將操作大體分成四類,即瀏覽器操作、鍵盤操作、鼠標(biāo)操作、js腳本。
1. 瀏覽器常用操作方法:
方法 | 描述 |
driver.maximize_window() | 窗口最大化 |
driver.back() | 頁面返回 |
driver.forward() | 頁面前進(jìn) |
2. 鍵盤常用操作方法:
send_keys() # Keys 模擬鍵盤輸入;模擬鍵盤按鍵、組合鍵等
部分key 列舉如下:
ALT= u'\ue00a'
ARROW_DOWN= u'\ue015'
ARROW_LEFT= u'\ue012'
ARROW_RIGHT= u'\ue014'
ARROW_UP= u'\ue013'
BACKSPACE= u'\ue003'
BACK_SPACE= u'\ue003'
CANCEL= u'\ue001'
CLEAR= u'\ue005'
COMMAND= u'\ue03d'
CONTROL= u'\ue009'
3. 鼠標(biāo)常用操作方法:
click() # ActionChains 模擬鼠標(biāo)操作,除了最常用的點擊,還有右擊、雙擊等
方法 | 描述 |
click(on_element=None) | 單擊鼠標(biāo)左鍵 |
click_and_hold(on_element=None) | 點擊鼠標(biāo)左鍵,不松開 |
context_click(on_element=None) | 點擊鼠標(biāo)右鍵 |
double_click(on_element=None) | 雙擊鼠標(biāo)左鍵 |
drag_and_drop(source, target) | 拖拽到某個元素然后松開 |
drag_and_drop_by_offset(source,xoffset,yoffset) | 拖拽到某個坐標(biāo)然后松開 |
key_down(value, element=None) | 按下某個鍵盤上的鍵 |
key_up(value, element=None) | 松開某個鍵 |
move_by_offset(xoffset, yoffset) | 鼠標(biāo)從當(dāng)前位置移動到某個坐標(biāo) |
move_to_element(to_element) | 鼠標(biāo)移動到某個元素 |
move_to_element_with_offset(to_element, xoffset, yoffset) | 移動到距某個元素(左上角坐標(biāo))多少距離的位置 |
perform() | 執(zhí)行鏈中的所有動作 |
release(on_element=None) | 在某個元素位置松開鼠標(biāo)左鍵 |
send_keys(*keys_to_send) | 發(fā)送某個鍵到當(dāng)前焦點的元素 |
send_keys_to_element(element, *keys_to_send) | 發(fā)送某個鍵到指定元素 |
4. 調(diào)用js腳本:
execute_script #執(zhí)行js腳本完成特定操作
三 操作實戰(zhàn)舉例
1. 瀏覽器操作實例
2. 鍵盤操作實例
3. 鼠標(biāo)操作實例
4. 腳本操作實例
四 額外知識點補(bǔ)充
ActionChains(browser).double_click(click_button).perform() #鼠標(biāo)雙擊操作舉例
在鼠標(biāo)操作中,注意到ActionChains(driver).method,當(dāng)調(diào)用該方法時,動作不會立即被執(zhí)行,而是會將所有的操作按順序存放在一個隊列里,當(dāng)調(diào)用perform()方法時,隊列中的時間會依次執(zhí)行,所以使用鼠標(biāo)操作時,最后需要調(diào)用perform()方法完成動作的執(zhí)行。
五 其他資源
關(guān)于python selenium元素常用操作方法的視頻講解,請參看:http://i.youku.com/weiworld521 第 26節(jié)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。