web自動(dòng)化的小技巧

一、快捷鍵

alt+7? 查看本工程中的方法和屬性等

二、針對某一些頁面,鼠標(biāo)要移動(dòng)到上面,才能定位元素的,可以按F12,然后在console中輸入以下命令定住界面:

setTimeout(function(){debugger;},5000)

三、driver.implicitly_wait() 這個(gè)等待只是針對find系列的,周期性查找,每半秒查詢一次

四、webDriver對象的方法

driver.title? ?#獲取當(dāng)前窗口的title,需要sleep,因?yàn)榇蛴itle相當(dāng)于再次進(jìn)行瀏覽器請求這個(gè)請求要等待的和一開始打開瀏覽器不用等待不一樣;方法二:直接在獲取之前使用find獲取一個(gè)元素,使用driver.implicitly_wait() ,獲取到元素自然標(biāo)題也會(huì)找到了

driver.current_url? #獲取當(dāng)前窗口的地址欄的url

driver.get_screenshot_as_file('1.png')? #截圖,有bug的時(shí)候可以截圖,截圖名稱最好和測試用例同名稱

三、元素定位小技巧:點(diǎn)擊F12,右鍵可以copy

copy xpath? #復(fù)制出根據(jù)xpath定位的元素定位

copy selector#根據(jù)css定位

四、異常捕獲,保證瀏覽器就算在運(yùn)行錯(cuò)誤的時(shí)候也能安全退出

import traceback

try:

? ? ? #要運(yùn)行的代碼

? ? ? pass

except:

? ????print(traceback.format_exc())

finally:#一定會(huì)運(yùn)行

? ?driver.quit()? ? ?

五、特殊動(dòng)作(鼠標(biāo))

ActionChains類

form selenium.webdriver.common.action_chains import? ActionChains

acinstance.action1().action2().actionN().perform()#動(dòng)作鏈,調(diào)用perform方法才執(zhí)行

ActionChains(driver).move_to_element(ele).perform#把鼠標(biāo)停留在一個(gè)位置

eg:連續(xù)點(diǎn)擊三個(gè)輸入框輸入內(nèi)容

t1 = driver.find_element_by_id('t1')

t2 = driver.find_element_by_id('t2')

t3 = driver.find_element_by_id('t3')

ac.click(t1).send_keys('1').click(t2).send_keys('2').click(t3).send_keys('3').perform

六、改變窗口大小

size = driver.get_window_size()

driver.set_window_size(1100,size['height'])

七、滾動(dòng)頁面

driver.execute_script('window.scrollBy(1400,0)')? #橫向和豎向,向右移動(dòng)1400個(gè)像素,可以在console中進(jìn)行測試看效果(直接輸入window.scrollBy(1400,0)回車)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容