Python+Selenium之練習(xí)篇3: 獲取瀏覽器信息及時間等待

1. 獲取瀏覽器的信息:

瀏覽器的信息存在driver.capabilities這個字典中

keys =list(driver.capabilities.keys()) #通過list將字典中的keys轉(zhuǎn)化為列表

values = list(driver.capabilities.values())通過list將字典中的values轉(zhuǎn)化為列表

driver.capabilities['browserVersion']: 獲取字段中key='browserVersion'的版本信息

2. 測試之時間等待:

a. 顯式等待:是針對于某個特定的元素設(shè)置的等待時間。

WebDriverWait(browser, timeout, poll_frequency=0.5, ignored_exceptions=None) 一般和until()或until_not方法配合使用。需要通過from selenium.webdriver.support.wait import WebDriverWait導(dǎo)入模塊

browser:瀏覽器的驅(qū)動,timeout:最大超時時間,poll_frequency:檢測的間隔時間,ignored_exceptions:超時后的異常信息,默認(rèn)拋出NoSuchEelementException的異常)

WebDriverWait(driver,3).until(browser.find_element_by_id("name"), message=None).send_keys("zhangsan")

//如果在html上找到id為name這個元素,就輸入信息”zhangsan"

WebDriverWait(driver,3).until_not(browser.find_element_by_id("name").is_displayed(), message=None)

//判斷id為name這個元素是否已經(jīng)在html上消失。

b. 隱式等待(implicitly_wait):通過一定的時長等待頁面上的某元素加載完成。如果超出了設(shè)置的時長元素還沒有被加載,則拋出NoSuchElementException異常,如果在設(shè)置時間內(nèi)找到某元素,會馬上執(zhí)行后面的操作。

特點:智能等待,單位為s

c. 休眠(time.sleep):單位為s,時間固定

time.sleep(5):表示必須等待5秒定位,就算在5秒內(nèi)找到指定元素,也強(qiáng)制等待3秒。

如何靈活運用:

當(dāng)某個頁面元素變化多,影響多的情況下,用sleep,等頁面元素穩(wěn)定了,再定位。

如果用implicitly_wait(5),還沒等頁面元素穩(wěn)定后就定位,導(dǎo)致定位不準(zhǔn)確。

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

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