国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python爬蟲框架之Selenium庫入門:用Python實(shí)現(xiàn)網(wǎng)頁自動(dòng)化測試詳解

這篇具有很好參考價(jià)值的文章主要介紹了Python爬蟲框架之Selenium庫入門:用Python實(shí)現(xiàn)網(wǎng)頁自動(dòng)化測試詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Python爬蟲框架之Selenium庫入門:用Python實(shí)現(xiàn)網(wǎng)頁自動(dòng)化測試詳解,python,爬蟲,selenium,自動(dòng)化,開發(fā)語言


?概要

是否還在為網(wǎng)頁測試而煩惱?是否還在為重復(fù)的點(diǎn)擊、等待而勞累?試試強(qiáng)大的Selenium!讓你的網(wǎng)頁自動(dòng)化測試變得輕松有趣!

?

一、Selenium庫到底是什么?

Selenium 是一個(gè)強(qiáng)大的自動(dòng)化測試工具,它可以讓你直接操控瀏覽器,完成各種與網(wǎng)頁交互的任務(wù)。通過使用 Python 的 Selenium 庫,你可以高效地實(shí)現(xiàn)網(wǎng)頁自動(dòng)化測試,從而節(jié)省大量時(shí)間和精力。

1.1 Selenium庫的主要功能

  • 自動(dòng)化測試:可以實(shí)現(xiàn)對(duì)網(wǎng)站的自動(dòng)化功能測試,比如點(diǎn)擊按鈕、輸入文本、選擇下拉菜單等。

  • 網(wǎng)頁爬蟲:對(duì)于一些需要登錄或者有反爬機(jī)制的網(wǎng)站,使用 Selenium 可以輕松應(yīng)對(duì)。

  • 自動(dòng)化任務(wù):如定時(shí)訪問網(wǎng)站、自動(dòng)提交表單等。

1.2 Selenium庫的優(yōu)勢(shì)

  1. 支持多種編程語言:Python、Java、C#、Ruby 等。

  2. 支持多種瀏覽器:Chrome、Firefox、Edge、Safari 等。

  3. 跨平臺(tái):Windows、macOS、Linux。

  4. 社區(qū)活躍,持續(xù)更新維護(hù)。

二、Selenium庫的安裝與配置

2.1 安裝Selenium庫

在安裝 Selenium 庫之前,請(qǐng)確保已經(jīng)安裝了 Python。接下來,只需打開終端或命令提示符,輸入以下命令即可安裝 Selenium 庫:

pip?install?selenium

2.2 配置瀏覽器驅(qū)動(dòng)

要使用 Selenium 控制瀏覽器,你還需要安裝對(duì)應(yīng)瀏覽器的驅(qū)動(dòng)。這里以 Chrome 瀏覽器為例,其他瀏覽器驅(qū)動(dòng)的安裝方法類似。

  1. 下載 Chrome 驅(qū)動(dòng):搜 ChromeDriver 在下載頁面選擇與你的 Chrome 瀏覽器版本匹配的驅(qū)動(dòng)。

  2. 解壓下載的壓縮包,將解壓后的?chromedriver?文件放置在一個(gè)可執(zhí)行路徑下,如?/usr/local/bin(macOS、Linux)或?C:\Windows(Windows)。

三、使用Selenium庫進(jìn)行基本操作

3.1 啟動(dòng)瀏覽器

導(dǎo)入 Selenium 的?webdriver?模塊,然后實(shí)例化一個(gè) Chrome 驅(qū)動(dòng)對(duì)象,就可以啟動(dòng) Chrome 瀏覽器了:

from?selenium?import?webdriver

driver?=?webdriver.Chrome()

3.2 打開網(wǎng)頁

使用?get?方法,傳入目標(biāo)網(wǎng)址,即可讓瀏覽器打開該網(wǎng)址:

driver.get("https://www.baidu.com")

3.3 定位頁面元素

Selenium 提供了多種定位頁面元素的方法,如?find_element_by_id、find_element_by_name、find_element_by_class_name?等。這里以百度搜索框?yàn)槔?,使?find_element_by_id?方法定位:

search_box?=?driver.find_element_by_id("kw")

3.4 操作頁面元素

找到頁面元素后,你可以對(duì)其進(jìn)行各種操作,如輸入文本、點(diǎn)擊按鈕等。這里以輸入搜索關(guān)鍵詞為例:

search_box.send_keys("Selenium")

3.5 提交表單

在搜索框輸入關(guān)鍵詞后,還需要點(diǎn)擊“百度一下”按鈕來提交表單。這里用?find_element_by_id?方法定位按鈕,然后用?click?方法進(jìn)行點(diǎn)擊:

search_button?=?driver.find_element_by_id("su")
search_button.click()

3.6 等待頁面加載

在進(jìn)行自動(dòng)化測試時(shí),很多時(shí)候需要等待頁面加載。Selenium 提供了兩種等待方法:顯式等待和隱式等待。

3.6.1 顯式等待

顯式等待會(huì)在指定時(shí)間內(nèi),不斷嘗試查找目標(biāo)元素,直到找到為止。這里以等待搜索結(jié)果出現(xiàn)為例:

from?selenium.webdriver.common.by?import?By
from?selenium.webdriver.support.ui?import?WebDriverWait
from?selenium.webdriver.support?import?expected_conditions?as?EC

try:
????element?=?WebDriverWait(driver,?10).until(
????????EC.presence_of_element_located((By.ID,?"content_left"))
????)
except?TimeoutException:
????print("等待超時(shí)!")

3.6.2 隱式等待

隱式等待會(huì)在查找元素時(shí),等待指定時(shí)間后再拋出異常。這里以等待搜索結(jié)果出現(xiàn)為例:

driver.implicitly_wait(10)
content_left?=?driver.find_element_by_id("content_left")

3.7 獲取頁面信息

獲取頁面的標(biāo)題、URL、源代碼等信息:

title?=?driver.title
url?=?driver.current_url
source?=?driver.page_source

print("標(biāo)題:",?title)
print("URL:",?url)

3.8 關(guān)閉瀏覽器

完成所有操作后,別忘了關(guān)閉瀏覽器:

driver.quit()

四、Selenium庫的高級(jí)應(yīng)用

4.1 切換窗口

在進(jìn)行自動(dòng)化測試時(shí),有時(shí)需要切換到新打開的窗口。這里以點(diǎn)擊百度首頁底部的 “關(guān)于百度” 鏈接為例,演示如何切換窗口:

from?selenium.webdriver.common.keys?import?Keys

about_link?=?driver.find_element_by_link_text("關(guān)于百度")
about_link.send_keys(Keys.CONTROL?+?Keys.RETURN)

driver.switch_to.window(driver.window_handles[-1])

4.2 切換 Frame

有些網(wǎng)頁會(huì)使用 Frame 嵌套頁面,這時(shí)需要切換到對(duì)應(yīng)的 Frame 才能操作其中的元素。切換 Frame 可以用?switch_to.frame?方法:

driver.switch_to.frame("frame_name")

切換回主頁面可以用?switch_to.default_content?方法:

driver.switch_to.default_content()

4.3 執(zhí)行 JavaScript 代碼

有時(shí)候,你可能需要執(zhí)行一些 JavaScript 代碼來實(shí)現(xiàn)特定功能,比如滾動(dòng)頁面、修改元素屬性等。這里以滾動(dòng)頁面為例:

driver.execute_script("window.scrollTo(0,?document.body.scrollHeight);")

五、技術(shù)總結(jié)

通過本文的介紹,相信你已經(jīng)掌握了 Selenium 庫的基本知識(shí),包括自動(dòng)化測試、瀏覽器驅(qū)動(dòng)、頁面交互等?,F(xiàn)在,你可以用 Python + Selenium 輕松搞定網(wǎng)頁自動(dòng)化測試?yán)玻?/p>

?文章來源地址http://www.zghlxwxcb.cn/news/detail-685296.html

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

到了這里,關(guān)于Python爬蟲框架之Selenium庫入門:用Python實(shí)現(xiàn)網(wǎng)頁自動(dòng)化測試詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 自動(dòng)化測試介紹、selenium用法(自動(dòng)化測試框架+爬蟲可用)

    自動(dòng)化測試介紹、selenium用法(自動(dòng)化測試框架+爬蟲可用)

    1、什么是自動(dòng)化測試? 程序測試程序、代碼代替思維、腳本代替人工 核心:質(zhì)量和效率 作用:降低成本、節(jié)省人力時(shí)間、推動(dòng)CI和DevOps、準(zhǔn)確性和可靠性、模擬人工難以實(shí)現(xiàn)的手段、快速持續(xù)迭代發(fā)布能力、衡量產(chǎn)品的質(zhì)量、提升測試效率、提高測試覆蓋率 2、手工測試

    2024年03月08日
    瀏覽(39)
  • 從零開始學(xué)習(xí)Python控制開源Selenium庫自動(dòng)化瀏覽器操作,實(shí)現(xiàn)爬蟲,自動(dòng)化測試等功能(一)

    從零開始學(xué)習(xí)Python控制開源Selenium庫自動(dòng)化瀏覽器操作,實(shí)現(xiàn)爬蟲,自動(dòng)化測試等功能(一)

    介紹Selenium : Selenium是一個(gè)用于自動(dòng)化瀏覽器操作的開源工具和庫。它最初是為Web應(yīng)用測試而創(chuàng)建的,但隨著時(shí)間的推移,它被廣泛用于Web數(shù)據(jù)抓取和網(wǎng)頁自動(dòng)化操作。Selenium 支持多種編程語言,包括Python,Java,C#等。 這里我們主要實(shí)現(xiàn)采用Python的方式 Selenium 的主要特點(diǎn)和

    2024年01月22日
    瀏覽(92)
  • Python爬蟲入門系列之Selenium實(shí)現(xiàn)動(dòng)態(tài)頁面爬取

    在前一篇博客中,我們學(xué)習(xí)了如何使用多線程優(yōu)化爬蟲程序。但是,如果要爬取的網(wǎng)頁是動(dòng)態(tài)生成的或者包含大量JavaScript代碼,單純的靜態(tài)頁面爬取就不足夠了。為了解決這個(gè)問題,我們可以使用Selenium庫來模擬真實(shí)的瀏覽器行為,從而實(shí)現(xiàn)動(dòng)態(tài)頁面的爬取。 Selenium是一個(gè)用

    2024年02月11日
    瀏覽(19)
  • Python Selenium網(wǎng)頁自動(dòng)化利器使用詳解

    Python Selenium網(wǎng)頁自動(dòng)化利器使用詳解

    Selenium是一個(gè)自動(dòng)化測試工具,主要用于模擬用戶在Web應(yīng)用程序中的交互操作。雖然它最初被設(shè)計(jì)用于自動(dòng)化測試,但也被廣泛用于網(wǎng)頁數(shù)據(jù)抓取、網(wǎng)頁自動(dòng)化操作和網(wǎng)頁測試。 首先,需要安裝Selenium庫。使用pip來安裝Selenium: 1 pip install selenium 此外,需要下載并安裝一個(gè)瀏覽

    2024年01月18日
    瀏覽(100)
  • python爬蟲之selenium嵌套網(wǎng)頁示例講解

    Selenium是一款非常流行的Web自動(dòng)化測試框架,它可以模擬用戶在瀏覽器上執(zhí)行的各類操作,如:點(diǎn)擊鏈接,填寫表單,滾動(dòng)頁面等。這使得Selenium成為了一個(gè)非常強(qiáng)大的爬蟲工具。在爬取網(wǎng)頁時(shí),Selenium可以通過模擬用戶的操作來解決一些常見的爬蟲難題,如JavaScript渲染或需要

    2024年02月10日
    瀏覽(22)
  • 爬蟲入門指南(4): 使用Selenium和API爬取動(dòng)態(tài)網(wǎng)頁的最佳方法

    爬蟲入門指南(4): 使用Selenium和API爬取動(dòng)態(tài)網(wǎng)頁的最佳方法

    隨著互聯(lián)網(wǎng)的發(fā)展,許多網(wǎng)站開始采用動(dòng)態(tài)網(wǎng)頁來呈現(xiàn)內(nèi)容。與傳統(tǒng)的靜態(tài)網(wǎng)頁不同,動(dòng)態(tài)網(wǎng)頁使用JavaScript等腳本技術(shù)來實(shí)現(xiàn)內(nèi)容的動(dòng)態(tài)加載和更新。這給網(wǎng)頁爬取帶來了一定的挑戰(zhàn),因?yàn)閭鹘y(tǒng)的爬蟲工具往往只能獲取靜態(tài)網(wǎng)頁的內(nèi)容。本文將介紹如何使用Selenium和API來實(shí)現(xiàn)

    2024年02月11日
    瀏覽(34)
  • 【RPA開發(fā)】Selenium 實(shí)現(xiàn)網(wǎng)頁自動(dòng)化

    【RPA開發(fā)】Selenium 實(shí)現(xiàn)網(wǎng)頁自動(dòng)化

    開發(fā)時(shí)有時(shí)會(huì)遇到網(wǎng)頁爬取限制的情況,那么此時(shí)可以通過 Selenium 來解決這個(gè)問題,因?yàn)?Selenium 是模擬瀏覽器執(zhí)行網(wǎng)頁爬取,相比 Request/API 操作更安全,服務(wù)器會(huì)完全認(rèn)為是用戶在用瀏覽器進(jìn)行操作,如此可以實(shí)現(xiàn)網(wǎng)頁自動(dòng)化操作,由于 Selenium 是完全模擬瀏覽器操作,因此

    2023年04月25日
    瀏覽(33)
  • python爬蟲(七)--------selenium自動(dòng)化

    查找方法(python3.7之前版本) find_element_by_id 根據(jù)id屬性來定位 find_element_by_name 根據(jù)name元素來定位 find_element_by_xpath 根據(jù)xpath語法來定位 find_element_by_tag_name 根據(jù)標(biāo)簽名來定位 find_element_by_class_name 根據(jù)class的名字來定位 find_element_by_css_selector 根據(jù)css選擇器來定位 以下兩種方法都

    2024年01月16日
    瀏覽(29)
  • Python爬蟲基礎(chǔ)(三):使用Selenium動(dòng)態(tài)加載網(wǎng)頁

    Python爬蟲基礎(chǔ)(三):使用Selenium動(dòng)態(tài)加載網(wǎng)頁

    Python爬蟲基礎(chǔ)(一):urllib庫的使用詳解 Python爬蟲基礎(chǔ)(二):使用xpath與jsonpath解析爬取的數(shù)據(jù) Python爬蟲基礎(chǔ)(三):使用Selenium動(dòng)態(tài)加載網(wǎng)頁 Python爬蟲基礎(chǔ)(四):使用更方便的requests庫 Python爬蟲基礎(chǔ)(五):使用scrapy框架 (1)Selenium是一個(gè)用于Web應(yīng)用程序測試的工具。

    2024年02月06日
    瀏覽(30)
  • 如何隱藏Selenium特征實(shí)現(xiàn)自動(dòng)化網(wǎng)頁采集

    如何隱藏Selenium特征實(shí)現(xiàn)自動(dòng)化網(wǎng)頁采集

    Selenium是一個(gè)流行的自動(dòng)化網(wǎng)頁測試工具,可以通過模擬用戶在Chrome瀏覽器中的操作來完成網(wǎng)站的測試。然而,有些網(wǎng)站會(huì)檢測瀏覽器是否由Selenium驅(qū)動(dòng),如果是,就會(huì)返回錯(cuò)誤的結(jié)果或拒絕訪問。為了避免這種情況,我們需要隱藏Selenium的特征,讓網(wǎng)站認(rèn)為我們是正常的用戶

    2024年02月04日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包