天天看點

day04_鍵盤操作丶元素等待丶下拉選擇框、彈出框、滾動條操作

鍵盤操作主要就是模拟鍵盤上一些按鍵或者組合鍵的輸入 如:Ctrl+C 、Ctrl+V。Selenium中把鍵盤的按鍵都封裝在Keys類中

day04_鍵盤操作丶元素等待丶下拉選擇框、彈出框、滾動條操作

在實際工作中由于網絡速度慢丶電腦組態低丶伺服器處理請求慢 等待各種原因,造成元素無法及時加載出來。此時我們就要設定元素等待了。元素等待:在定位頁面元素時如果未找到,會在指定時間内一直等待的過程

概念:定位元素時,如果能定位到元素則直接傳回該元素,不觸發等待; 如果不能定位到該元素,則間隔一段時間後再去定位元素; 如果在達到最大時長時還沒有找到指定元素,則抛出元素不存在的異常 NoSuchElementException 。 

概念:定位指定元素時,如果能定位到元素則直接傳回該元素,不觸發等待; 如果不能定位到該元素,則間隔一段時間後再去定位元素; 如果在達到最大時長時還沒有找到指定元素,則抛出逾時異常 TimeoutException 。 

day04_鍵盤操作丶元素等待丶下拉選擇框、彈出框、滾動條操作

作用域:隐式為全局元素,顯式等待為單個元素有效

使用方法:隐式等待直接通過驅動對象調用,而顯式等待方法封裝在WebDriverWait類中

達到最大逾時時長後抛出的異常不同:隐式為NoSuchElementException,顯式等待為TimeoutException 

強制等待就是讓代碼休眠,不做任何的操作。time.sleep(time) 

當要擷取元素的文本内容時,而元素的文本内容是需要通過背景接口請求并渲染的,此時,如果使用隐式等待或顯示等待是沒有辦法擷取到文本内容,是以需要使用強制等待

當要操作的元素已經存在,但是有其他的元素需要等待且與該操作的元素有業務關聯,如果使用隐式等待或顯示等待對該元素進行操作的話,是沒有辦法進行的,也需要使用強制等待。

導入Select類

執行個體化select對象 select=Select(element) # element對象表示的是select元素對象

操作方法: 

day04_鍵盤操作丶元素等待丶下拉選擇框、彈出框、滾動條操作

alert             警告框

confirm        确認框

prompt         提示框

Selenium中對處理彈出框的操作,有專用的處理方法;并且處理的方法都一樣 

步驟如下:

day04_鍵盤操作丶元素等待丶下拉選擇框、彈出框、滾動條操作

在HTML頁面中,由于前端技術架構的原因,頁面元素為動态顯示,元素根據滾動條的下拉而被加載

頁面注冊同意條款,需要滾動條到最底層,才能點選同意 

selenium中并沒有直接提供操作滾動條的方法,但是它提供了可執行JavaScript腳本的方法,是以我們可以通過JavaScript腳本來達到操作滾動條的目的。 

day04_鍵盤操作丶元素等待丶下拉選擇框、彈出框、滾動條操作

繼續閱讀