Python爬蟲Selenium庫(kù)的詳細(xì)用法

這篇文章主要介紹“Python爬蟲Selenium庫(kù)的詳細(xì)用法”,在日常操作中,相信很多人在Python爬蟲Selenium庫(kù)的詳細(xì)用法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Python爬蟲Selenium庫(kù)的詳細(xì)用法”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括會(huì)寧網(wǎng)站建設(shè)、會(huì)寧網(wǎng)站制作、會(huì)寧網(wǎng)頁(yè)制作以及會(huì)寧網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,會(huì)寧網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到會(huì)寧省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

在我們爬取網(wǎng)頁(yè)過(guò)程中,經(jīng)常發(fā)現(xiàn)我們想要獲得的數(shù)據(jù)并不能簡(jiǎn)單的通過(guò)解析HTML代碼獲取,這些數(shù)據(jù)是通過(guò)AJAX異步加載方式或經(jīng)過(guò)JS渲染后才呈現(xiàn)在頁(yè)面上顯示出來(lái)。

selenuim是一種自動(dòng)化測(cè)試工具,它支持多種瀏覽器。而在爬蟲中,我們可以使用它來(lái)模擬瀏覽器瀏覽頁(yè)面,進(jìn)而解決JavaScript渲染的問(wèn)題。

1. 使用示例

Python爬蟲Selenium庫(kù)的詳細(xì)用法

2. 詳細(xì)介紹

2.1 聲明瀏覽器對(duì)象

即告訴程序,應(yīng)該使用哪個(gè)瀏覽器進(jìn)行操作

Python爬蟲Selenium庫(kù)的詳細(xì)用法

2.3 查找元素

成功訪問(wèn)網(wǎng)頁(yè)后,我們可能需要進(jìn)行一些操作,比如找到搜索框然后輸入關(guān)鍵字再敲擊回車鍵。

因此,就需要在selenium中查找元素。

2.3.1 單個(gè)元素

selenium查找元素有兩種方法。

第一種,是指定使用哪種方法去查找元素,比如指定依照CSS選擇或者依照xpath去進(jìn)行查找

下面是詳細(xì)的元素查找方法

find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

第二種,是直接使用find_element(),傳入的第一個(gè)參數(shù)為需要使用的元素查找方法

Python爬蟲Selenium庫(kù)的詳細(xì)用法

2.3.2 多個(gè)元素

查找多個(gè)元素和查找單個(gè)元素的方法基本一致(只需要將查找單個(gè)元素的func里加一個(gè)s)。

查找多個(gè)元素返回的是一個(gè)list。

Python爬蟲Selenium庫(kù)的詳細(xì)用法

2.5 交互動(dòng)作

交互動(dòng)作是將動(dòng)作附加到交互鏈中串行執(zhí)行,需要使用到ActionChains。

2.6 執(zhí)行JavaScript

比如拖拽下拉

Python爬蟲Selenium庫(kù)的詳細(xì)用法

2.8 Frame

如果定位到父frame,是無(wú)法查找到子frame的信息的,因此需要切換到子frame再進(jìn)行查找。同理,在子frame也無(wú)法查找到父frame的信息

Python爬蟲Selenium庫(kù)的詳細(xì)用法

2.9.2 顯式等待

顯示等待包含了等待條件和等待時(shí)間。

首先判定等待條件是否成立,如果成立,則直接返回;如果條件不成立,則等待最長(zhǎng)時(shí)間為等待時(shí)間,如果超過(guò)等待時(shí)間后仍然沒有滿足等待等待條件,則拋出異常。

顯式等待是對(duì)指定的元素進(jìn)行等待。

Python爬蟲Selenium庫(kù)的詳細(xì)用法

2.11 對(duì)Cookies進(jìn)行操作

Python爬蟲Selenium庫(kù)的詳細(xì)用法

到此,關(guān)于“Python爬蟲Selenium庫(kù)的詳細(xì)用法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

文章名稱:Python爬蟲Selenium庫(kù)的詳細(xì)用法
鏈接分享:http://muchs.cn/article48/geccep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站改版域名注冊(cè)、網(wǎng)站設(shè)計(jì)靜態(tài)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)