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

Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01

這篇具有很好參考價(jià)值的文章主要介紹了Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1. 本案例目的

使用selenium庫(kù)完成動(dòng)點(diǎn)擊下一頁(yè),點(diǎn)擊視頻操作等過(guò)程,
如果你非要說(shuō)這是XX,那我也不過(guò)多辯解,畢竟批評(píng)不自由,贊美無(wú)意義

2. 案例實(shí)現(xiàn)

本案例僅是技術(shù)演示,所以會(huì)隱去相關(guān)網(wǎng)址等,讀者可以重點(diǎn)查看這里使用的selenium技術(shù)點(diǎn)即可。另外本版本為V01版本,所以?xún)H僅是可用,很多內(nèi)容都未完善。

1.導(dǎo)入依賴(lài)

import time

from selenium import  webdriver  # 包
from selenium.webdriver import ActionChains # 模擬鼠標(biāo)操作點(diǎn)擊 下拉
from selenium.webdriver.common.keys import Keys # 鍵盤(pán)按鍵操作\
from selenium.webdriver.chrome.options import Options # 瀏覽器配置

2.初始化driver瀏覽器驅(qū)動(dòng)

定義一個(gè)init函數(shù),在init函數(shù)內(nèi)完成初始化瀏覽器驅(qū)動(dòng)的任務(wù),并實(shí)現(xiàn)瀏覽器全屏等設(shè)置,返回值為一個(gè)初始化后的瀏覽器驅(qū)動(dòng)。

# 初始化
def init():
    # 實(shí)現(xiàn)無(wú)可視化界面得操作
    chrome_options = Options()
    # chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')

    # 設(shè)置chrome_options=chrome_options即可實(shí)現(xiàn)無(wú)界面
    driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='./chromedriver.exe')
    # 把瀏覽器實(shí)現(xiàn)全屏
    driver.maximize_window()
    # 返回driver
    return driver

3.登錄頁(yè)面分析及登錄實(shí)現(xiàn)

3.1 登錄頁(yè)面分析

查看登錄頁(yè),頁(yè)面如下:
Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01,爬蟲(chóng),python,爬蟲(chóng),chrome
可以看見(jiàn),登錄頁(yè)包含用戶名,密碼,驗(yàn)證碼等幾個(gè)部分需要輸入,進(jìn)入瀏覽器開(kāi)發(fā)者工具,查看對(duì)應(yīng)的css選擇器。
Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01,爬蟲(chóng),python,爬蟲(chóng),chrome

通過(guò)瀏覽器選擇該元素右鍵復(fù)制對(duì)應(yīng)css選擇器,分別如下:

.UserName
.Password
.code > input:nth-child(3)

這里的驗(yàn)證碼需要識(shí)別,我們可以設(shè)置為手動(dòng)輸入。
實(shí)現(xiàn)代碼如下:

# 初始化網(wǎng)址 用戶名和 密碼
url = 'XXX'
username = 'XXX'
wd = 'XXX'
driver = init() # 初始化瀏覽器驅(qū)動(dòng)
driver.get(url)  # 調(diào)用瀏覽器打開(kāi)url
driver.implicitly_wait(3) # 等待3s,以完成頁(yè)面渲染完成
# 定位到用戶名 .UserName
username_tag = driver.find_element_by_css_selector(".UserName")
username_tag.send_keys(username) # 輸入用戶名
# 定位到密碼 .Password
password_tag = driver.find_element_by_css_selector(".Password")
password_tag.send_keys(wd) # 輸入密碼
# .code > input:nth-child(3)
code_tag = driver.find_element_by_css_selector(".code > input:nth-child(3)")
code_input = input("請(qǐng)輸入驗(yàn)證碼")
code_tag.send_keys(code_input) # 輸入驗(yàn)證碼 這里為手動(dòng)輸入,更新后會(huì)使用機(jī)器打碼

3.2 登錄按鈕選擇及回車(chē)單擊

登錄按鈕分析:
Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01,爬蟲(chóng),python,爬蟲(chóng),chrome
對(duì)應(yīng)的xpath路徑為

/html/body/form/div[2]/div[1]/div[4]/input

選擇登錄元素,并回車(chē)或左鍵單擊

# 獲取登錄按鈕
submit_tag = driver.find_element_by_xpath("/html/body/form/div[2]/div[1]/div[4]/input") 
# 模擬回車(chē)操作
submit_tag.send_keys(Keys.ENTER)

# 等待5s
time.sleep(5)
driver.implicitly_wait(10)

點(diǎn)擊登錄后,會(huì)跳轉(zhuǎn)到個(gè)人首頁(yè)。

4. 個(gè)人首頁(yè)頁(yè)面分析與課程選擇實(shí)現(xiàn)

4.1 課程頁(yè)面分析

登錄后,跳轉(zhuǎn)到個(gè)人首頁(yè):
Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01,爬蟲(chóng),python,爬蟲(chóng),chrome
默認(rèn)是學(xué)習(xí)為當(dāng)前標(biāo)簽頁(yè),我們需要點(diǎn)擊當(dāng)前頁(yè)面中對(duì)應(yīng)的課程,打開(kāi)開(kāi)發(fā)者工具,
Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01,爬蟲(chóng),python,爬蟲(chóng),chrome

4.2 課程頁(yè)面選擇并鼠標(biāo)左鍵單擊

復(fù)制對(duì)應(yīng)的css選擇器,并選擇該課程元素:

# 對(duì)應(yīng)的css選擇器如下:
# div.in-c-el:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > a:nth-child(1) > img:nth-child(1)
class_01_css_selector = "div.in-c-el:nth-child(6) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > a:nth-child(1) > img:nth-child(1)"
class_01 = driver.find_element_by_css_selector(class_01_css_selector)

# 加載鼠標(biāo)模擬操作
action = ActionChains(driver) 
# 模擬鼠標(biāo)左鍵單擊 并執(zhí)行
action.click(class_01).perform()

點(diǎn)擊課程后,會(huì)彈出一個(gè)新的頁(yè)面–課程頁(yè)面

5. 課程頁(yè)面分析與進(jìn)入到視頻播放頁(yè)

5.1 課程頁(yè)面分析

注意課程頁(yè)面時(shí)彈出的頁(yè)面,需要手動(dòng)切換selenium的當(dāng)前頁(yè)面。
進(jìn)入課程頁(yè)面后,查看頁(yè)面信息,有一個(gè)繼續(xù)學(xué)習(xí)的按鈕,點(diǎn)擊繼續(xù)學(xué)習(xí)的按鈕,可以進(jìn)入到視頻播放頁(yè)面。
Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01,爬蟲(chóng),python,爬蟲(chóng),chrome

5.2 切換當(dāng)前頁(yè)面,并選擇繼續(xù)學(xué)習(xí)按鈕點(diǎn)擊

實(shí)現(xiàn)步驟為:

切換當(dāng)前頁(yè)面
查看繼續(xù)學(xué)習(xí)元素的css選擇器,并選擇該元素:

# 跳轉(zhuǎn)到視頻播放窗口
# 1. 獲取打開(kāi)的所有窗口
wins = driver.window_handles
print(wins) # 查看所有窗口
# 打印當(dāng)前窗口的句柄
print(driver.current_window_handle)

# 2. 切換語(yǔ)句 切換到你想操作元素的窗口 進(jìn)入新的html頁(yè)面
wins[-1]
driver.switch_to.window(wins[-1])

# 3. 在新的頁(yè)面中,找元素并操作
# .ml12 繼續(xù)學(xué)習(xí)按鈕
play_01 = driver.find_element_by_css_selector(".ml12")
# 單擊繼續(xù)學(xué)習(xí)按鈕
action = ActionChains(driver)
action.click(play_01).perform()

點(diǎn)擊繼續(xù)學(xué)習(xí)后,會(huì)跳到到視頻播放頁(yè)

6. 視頻播放頁(yè)分析與播放實(shí)現(xiàn)

6.1視頻播放頁(yè)分析

進(jìn)入到視頻播放頁(yè)后,點(diǎn)擊視頻播放按鈕,即可播放視頻
Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01,爬蟲(chóng),python,爬蟲(chóng),chrome

6.2 視頻播放實(shí)現(xiàn)

查看css選擇器,選擇播放按鈕元素,并左鍵單擊。

# .vjs-big-play-button 播放按鈕
play_button = driver.find_element_by_css_selector(".vjs-big-play-button")
action = ActionChains(driver)
action.click(play_button).perform()

7. 視頻播放完畢后,點(diǎn)擊下一頁(yè)

7.1 視頻播放頁(yè)下一頁(yè)元素分析

視頻播放頁(yè)還有下一集按鈕,如下:
Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01,爬蟲(chóng),python,爬蟲(chóng),chrome

7.2 循環(huán)實(shí)現(xiàn)下一集播放

通過(guò)查看瀏覽器開(kāi)發(fā)者工具,可以選擇下一集按鈕,完成當(dāng)前視頻播放完畢,播放下一集的功能。
需要注意的是,需要再切換下一集后,等待頁(yè)面加載完成,再點(diǎn)擊播放按鈕。

print("循環(huán)開(kāi)始*************")
num = 0
# 循環(huán)5次 每次都看1集
for i in range(5):
    num += 1
    print("當(dāng)前的次數(shù)為:{}".format(num))
    # 下一節(jié)的css選擇器 .fa-chevron-right
    play_next = driver.find_element_by_css_selector(".fa-chevron-right")
    # 點(diǎn)擊下一頁(yè)
    action = ActionChains(driver)
    action.click(play_next).perform()

    # 切換下一頁(yè)后,等待一段時(shí)間
    time.sleep(5)
    driver.implicitly_wait(10)

    # .vjs-big-play-button 獲取播放按鈕
    play_button = driver.find_element_by_css_selector(".vjs-big-play-button")
    # 點(diǎn)擊播放按鈕
    action = ActionChains(driver)
    action.click(play_button).perform()

    # 模擬看15s
    print("開(kāi)始觀看第{}集".format(num))
    time.sleep(15)
    print("結(jié)束觀看第{}集".format(num))

# 關(guān)閉瀏覽器
driver.close()

8. 運(yùn)行測(cè)試

接下來(lái)右鍵運(yùn)行,需要我們?cè)诳刂婆_(tái)輸入驗(yàn)證碼,輸入驗(yàn)證碼后,即可完成視頻的自動(dòng)播放功能。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-752567.html

到了這里,關(guān)于Python爬蟲(chóng)技術(shù)系列-06selenium完成自動(dòng)化測(cè)試V01的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(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)文章

  • Python爬蟲(chóng)之自動(dòng)化測(cè)試Selenium#7

    Python爬蟲(chóng)之自動(dòng)化測(cè)試Selenium#7

    在前一章中,我們了解了 Ajax 的分析和抓取方式,這其實(shí)也是 JavaScript 動(dòng)態(tài)渲染的頁(yè)面的一種情形,通過(guò)直接分析 Ajax,我們?nèi)匀豢梢越柚?requests 或 urllib 來(lái)實(shí)現(xiàn)數(shù)據(jù)爬取。 不過(guò) JavaScript 動(dòng)態(tài)渲染的頁(yè)面不止 Ajax 這一種。比如中國(guó)青年網(wǎng)(詳見(jiàn) 國(guó)內(nèi)_新聞?lì)l道_中國(guó)青年網(wǎng)),

    2024年02月20日
    瀏覽(21)
  • Python爬蟲(chóng)實(shí)戰(zhàn)——Lazada商品數(shù)據(jù)(selenium自動(dòng)化爬蟲(chóng),xpath定位)

    Python爬蟲(chóng)實(shí)戰(zhàn)——Lazada商品數(shù)據(jù)(selenium自動(dòng)化爬蟲(chóng),xpath定位)

    ? ? ? ? 在此說(shuō)明,這個(gè)項(xiàng)目是我第一次真正去爬的一個(gè)網(wǎng)站,里面寫(xiě)的代碼我自己都看不下去,但是已經(jīng)不想花時(shí)間去重構(gòu)了,所以看個(gè)樂(lè)呵就好,要噴也可以(下手輕一點(diǎn))。這篇文算是記錄我的學(xué)習(xí)中出現(xiàn)的一些問(wèn)題,不建議拿來(lái)學(xué)習(xí)和真拿我的代碼去爬Lazada的數(shù)據(jù),

    2024年02月02日
    瀏覽(23)
  • Python-爬蟲(chóng)、自動(dòng)化(selenium,動(dòng)態(tài)網(wǎng)頁(yè)翻頁(yè),模擬搜索,下拉列表選擇、selenium行為鏈)

    Python-爬蟲(chóng)、自動(dòng)化(selenium,動(dòng)態(tài)網(wǎng)頁(yè)翻頁(yè),模擬搜索,下拉列表選擇、selenium行為鏈)

    selenium是一個(gè)Web自動(dòng)化測(cè)試工具,可以直接運(yùn)行在瀏覽器上·支持所有主流的瀏覽器.可以根據(jù)我們的指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),基礎(chǔ)頁(yè)面截圖等。 使用pip install selenium命令下載selenium模塊。 運(yùn)行下列代碼: 說(shuō)明沒(méi)有下載對(duì)應(yīng)瀏覽器的驅(qū)動(dòng),這里使用谷歌

    2024年02月01日
    瀏覽(28)
  • Python爬蟲(chóng)框架之Selenium庫(kù)入門(mén):用Python實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)化測(cè)試詳解

    Python爬蟲(chóng)框架之Selenium庫(kù)入門(mén):用Python實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)化測(cè)試詳解

    是否還在為網(wǎng)頁(yè)測(cè)試而煩惱?是否還在為重復(fù)的點(diǎn)擊、等待而勞累?試試強(qiáng)大的 Selenium !讓你的網(wǎng)頁(yè)自動(dòng)化測(cè)試變得輕松有趣! Selenium 是一個(gè)強(qiáng)大的自動(dòng)化測(cè)試工具,它可以讓你直接操控瀏覽器,完成各種與網(wǎng)頁(yè)交互的任務(wù)。通過(guò)使用 Python 的 Selenium 庫(kù),你可以高效地實(shí)現(xiàn)

    2024年02月10日
    瀏覽(24)
  • 爬蟲(chóng)實(shí)戰(zhàn)(一)Python+selenium自動(dòng)化獲取數(shù)據(jù)存儲(chǔ)到Mysql中

    爬蟲(chóng)實(shí)戰(zhàn)(一)Python+selenium自動(dòng)化獲取數(shù)據(jù)存儲(chǔ)到Mysql中

    ??行話說(shuō)得好,“爬蟲(chóng)學(xué)得好,牢飯吃到飽!”哈哈博主是因這句話入的坑,不為別的就為邀大家一起鐵窗淚(bushi),本人雖小牛一只,但是喜愛(ài)搗鼓技術(shù),有興趣的小伙伴們可以共同探討,也歡迎各位大佬們的指點(diǎn),愿共同進(jìn)步! ??這次計(jì)劃是翻墻爬取外網(wǎng)某網(wǎng)站

    2024年01月17日
    瀏覽(34)
  • 從零開(kāi)始學(xué)習(xí)Python控制開(kāi)源Selenium庫(kù)自動(dòng)化瀏覽器操作,實(shí)現(xiàn)爬蟲(chóng),自動(dòng)化測(cè)試等功能(一)

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

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

    2024年01月22日
    瀏覽(92)
  • python自動(dòng)化測(cè)試selenium核心技術(shù)三種等待方式

    python自動(dòng)化測(cè)試selenium核心技術(shù)三種等待方式

    UI自動(dòng)化測(cè)試過(guò)程中,可能會(huì)出現(xiàn)因測(cè)試環(huán)境不穩(wěn)定、網(wǎng)絡(luò)慢等情況,如果不做任何處理的話,會(huì)出現(xiàn)無(wú)法定位到特定元素而報(bào)錯(cuò),導(dǎo)致自動(dòng)化測(cè)試無(wú)法順利執(zhí)行。 selenium官網(wǎng)手冊(cè):Waits | Selenium slenium自動(dòng)化測(cè)試中,主要涉及三種等待方式:???? 缺點(diǎn):即使網(wǎng)絡(luò)條件較好時(shí)

    2024年04月11日
    瀏覽(28)
  • Selenium4.0 + Python手?jǐn)]自動(dòng)化框架系列之 Web截圖 與 封裝

    Selenium4.0 + Python手?jǐn)]自動(dòng)化框架系列之 Web截圖 與 封裝

    在做Web自動(dòng)化時(shí),網(wǎng)頁(yè)截圖是常用的操作。像一般的自動(dòng)化框架與工具都會(huì)有截圖機(jī)制,比如: 1、元素等待失敗觸發(fā)截圖 2、元素操作失敗觸發(fā)截圖 3、檢查點(diǎn)失敗觸發(fā)截圖 4、主動(dòng)要求的觸發(fā)截圖 四種場(chǎng)景,均可觸發(fā)網(wǎng)頁(yè)截圖操作,將截圖保存到對(duì)應(yīng)某個(gè)路徑下面。 那么

    2024年02月08日
    瀏覽(23)
  • 測(cè)試員進(jìn)階必看系列 “ python自動(dòng)化測(cè)試工具selenium使用指南 ”

    測(cè)試員進(jìn)階必看系列 “ python自動(dòng)化測(cè)試工具selenium使用指南 ”

    概述 python+selenium環(huán)境安裝 使用selenium啟動(dòng)瀏覽器 selenium頁(yè)面加載等待和檢測(cè) 使用time.sleep()等待 使用implicitly_wait設(shè)置最長(zhǎng)等待時(shí)間 使用WebDriverWait設(shè)置等待條件 檢測(cè)document是否加載完成 selenium元素定位和讀取 查找元素 dom元素交互 查找元素失敗處理 selenium交互控制 ActionChains動(dòng)

    2024年02月05日
    瀏覽(118)
  • 爬蟲(chóng) — 自動(dòng)化爬蟲(chóng) Selenium

    爬蟲(chóng) — 自動(dòng)化爬蟲(chóng) Selenium

    用 Selenium 爬取網(wǎng)頁(yè)時(shí),當(dāng)前訪問(wèn)的 url 就是爬蟲(chóng)當(dāng)中的目標(biāo) url,獲取內(nèi)容只要是頁(yè)面上可見(jiàn)的,都可以爬?。?可見(jiàn)即可爬 )。 步驟 Selenium + 瀏覽器 + 瀏覽器驅(qū)動(dòng) 1、導(dǎo)入 2、url(找動(dòng)態(tài) url,抓取到的數(shù)據(jù)是加密的) 3、獲取內(nèi)容,做解析 Selenium 是一個(gè)用于 Web 應(yīng)用 程序測(cè)試

    2024年02月07日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包