日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python自動化框架selenium怎么用?

作為小編講述不少的內(nèi)容,大家應(yīng)該了解這個工具的重要意義了吧,之前也跟大家提及關(guān)于這個工具的安裝內(nèi)容,今日再給大家詳細說下怎么去使用,利用最簡單,最快捷的方式去使用,想必大家都迫不及待想要了解了吧~那就一起來看下吧~

selenium三種等待方式

有時候為了保證腳本運行的穩(wěn)定性,需要腳本中添加等待時間。

 強制等待

第一種也是最簡單粗暴的一種辦法就是強制等待sleep(xx),需要引入“time”模塊,這種叫強制等待,不管你瀏覽器是否加載完了,程序都得等待3秒,3秒一到,繼續(xù)執(zhí)行下面的代碼,作為調(diào)試很有用,有時候也可以在代碼里這樣等待,不過不建議總用這種等待方式,太死板,嚴重影響程序執(zhí)行速度。

# -*- coding: utf-8 -*-
from selenium import webdriver
import time
 
driver = webdriver.Firefox()
driver.get('http://baidu.com')
 
time.sleep(3) # 強制等待3秒再執(zhí)行下一步
 
print(driver.current_url)
driver.quit()

隱性等待

第二種辦法叫隱性等待,通過添加 implicitly_wait() 方法就可以方便的實現(xiàn)智能等待;implicitly_wait(30) 的用法應(yīng)該比 time.sleep() 更智能,后者只能選擇一個固定的時間的等待,前者可以 在一個時間范圍內(nèi)智能的等待。

# -*- coding: utf-8 -*-
from selenium import webdriver
 
driver = webdriver.Firefox()
driver.implicitly_wait(30) # 隱性等待,最長等30秒
driver.get('http://baidu.com')
 
print(driver.current_url)
driver.quit()

顯性等待

Init

l driver: 傳入WebDriver實例,即我們上例中的driver

l timeout: 超時時間,等待的最長時間(同時要考慮隱性等待時間)

l poll_frequency: 調(diào)用until或until_not中的方法的間隔時間,默認是0.5秒

l ignored_exceptions: 忽略的異常,如果在調(diào)用until或until_not的過程中拋出這個元組中的異常,則不中斷代碼,繼續(xù)等待,如果拋出的是這個元組外的異常,則中斷代碼,拋出異常。默認只有NoSuchElementException。

Until

method: 在等待期間,每隔一段時間(__init__中的poll_frequency)調(diào)用這個傳入的方法,直到返回值不是False

message: 如果超時,拋出TimeoutException,將message傳入異常

until_not

與until相反,until是當某元素出現(xiàn)或什么條件成立則繼續(xù)執(zhí)行,

until_not是當某元素消失或什么條件不成立則繼續(xù)執(zhí)行,參數(shù)也相同,不再贅述。

在這里,你可以用selenium提供的 expected_conditions 模塊中的各種條件,也可以用WebElement的 is_displayed() 、is_enabled()、**is_selected() **方法,或者用自己封裝的方法都可以。

更多學(xué)習內(nèi)容,點擊查詢python學(xué)習網(wǎng)。


當前標題:創(chuàng)新互聯(lián)Python教程:python自動化框架selenium怎么用?
網(wǎng)頁地址:http://www.5511xx.com/article/dhopiji.html