最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?Playwright的使用詳解

 更新時間:2022年10月14日 14:07:31   作者:夢想橡皮擦  
本篇博客為大家介紹一款新的自動化測試工具,效果類似?selenium,但是這個模塊年輕。模塊名稱為?playwright-python,微軟開源的,是針對?Python?語言的純自動化工具,感興趣的可以了解一下

實戰(zhàn)場景

本篇博客為大家介紹一款新的自動化測試工具,效果類似 selenium,但是這個模塊年輕。

模塊名稱為 playwright-python,微軟開源的,是針對 Python 語言的純自動化工具,可以通過 API 調(diào)用瀏覽器,github 地址在本文末尾。

接下來將通過 3 篇博客為大家詳細介紹該 playwright-python,徹徹底底了解它。

正式開始前依舊是模塊安裝:

pip install playwright

該模塊安裝非??欤暾w驗還需要安裝瀏覽器相關(guān)驅(qū)動,這個有點大,命令如下:

python -m playwright install

安裝時注意使用國內(nèi)源!

等待過程中,可以查閱輸出日志,核對安裝了哪些模塊:

  • Downloading FFMPEG:FFMPEG;
  • Downloading Firefox 104.0:火狐瀏覽器驅(qū)動;
  • Downloading Chromium :谷歌瀏覽器驅(qū)動;
  • Downloading Webkit 16.0 :Webkit 瀏覽器驅(qū)動。

實戰(zhàn)操作

第一次實戰(zhàn)操作,先從不寫代碼開始,通過下述命令啟動瀏覽器,然后【錄制】我們的操作過程。

python -m playwright codegen

運行代碼之后,彈出默認瀏覽器和一個代碼錄制展示框,具體如下所示:

下面就可以在左側(cè)的瀏覽器窗口中進行操作,然后觀察右側(cè)自動生成的代碼段。

在地址欄輸入 baidu.com 跳轉(zhuǎn)到百度首頁,然后輸入 航天員,點擊搜索按鈕,生成的代碼如下所示。

將生成的代碼復(fù)制到開發(fā)工具中,直接運行就可以得到剛剛相同的操作。

from playwright.sync_api import Playwright, sync_playwright, expect


def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    # Open new page
    page = context.new_page()
    # Go to https://www.baidu.com/
    page.goto("https://www.baidu.com/")
    # Click input[name="wd"]
    page.locator("input[name=\"wd\"]").click()
    # Fill input[name="wd"]
    page.locator("input[name=\"wd\"]").fill("航天員")
    # Press Enter
    page.locator("input[name=\"wd\"]").press("Enter")
    page.wait_for_url(
        "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E8%88%AA%E5%A4%A9%E5%91%98&fenlei=256&rsv_pq=0xfde7decb0011bfe6&rsv_t=3a67vLT%2Buti4VKw0mDppSrydbnq6CGsyOVNNxN%2F39naR6lYvxacuqvbYKRs0&rqlang=en&rsv_enter=1&rsv_dl=tb&rsv_sug3=24&rsv_sug1=24&rsv_sug7=100&rsv_sug2=0&rsv_btype=i&prefixsug=%25E8%2588%25AA%25E5%25A4%25A9%25E5%2591%2598&rsp=5&inputT=5824&rsv_sug4=6786&rsv_jmp=fail")
    # ---------------------
    context.close()
    browser.close()

with sync_playwright() as playwright:
    run(playwright)

接下來我們分析一下其生成的代碼含義。

from playwright.sync_api import Playwright, sync_playwright

playwright.sync_api 模塊導(dǎo)入 Playwrightsync_playwright,看到關(guān)鍵字 sync,可以猜測這是一個同步操作,那與之對應(yīng)的,也是未來我們要對比學(xué)習(xí)的,就是異步接口相關(guān)內(nèi)容,這里先埋下一個伏筆,下篇博客在進行討論。

browser = playwright.chromium.launch(headless=False)

初始化一個谷歌瀏覽器對象,并且不是無頭瀏覽器,即在桌面打開瀏覽器窗口。launch() 方法包含很多參數(shù),常用的有以下內(nèi)容:

  • headless:是否為無頭瀏覽器,即是否顯示瀏覽器窗口,默認為不顯示;
  • channel:瀏覽器版本,"chrome", "chrome-beta", "chrome-dev", "chrome-canary";
  • proxy:代理設(shè)置;
  • timeout:超時時間,默認 30s。
context = browser.new_context()
page = context.new_page()

打開一個新瀏覽器,創(chuàng)建一個新頁面,其中 browser.new_context() 的參數(shù)都是與瀏覽器配置相關(guān)的內(nèi)容,實踐的時候需要特別設(shè)置的在這里設(shè)置,例如下述參數(shù):

  • user_agent:UA 代理;
  • viewport:頁面大小,比例,例 1024*768;
  • offline:離線模式加載。
page.goto("https://www.baidu.com/")
page.locator("input[name=\"wd\"]").click()
……
page.wait_for_url(……)
  • goto() :地址跳轉(zhuǎn),即瀏覽器跳轉(zhuǎn);
  • locator():定位元素;
  • wait_for_url():等待頁面加載完畢。

本文末尾重點介紹一下 goto() 相關(guān)內(nèi)容,剩余函數(shù)下篇博客繼續(xù)說明。 goto() 函數(shù)的重要參數(shù):

  • url:跳轉(zhuǎn)地址,必須包含協(xié)議,例如 http:// 或者 https://;
  • referer:請求頭中的 referer 參數(shù);
  • timeout:最大操作時間(毫秒),默認為 30 秒;
  • wait_until:默認操作成功時,執(zhí)行的內(nèi)容,還有幾個事件,分別是 domcontentloaded,networkidle,commit

項目開源地址:https://github.com/microsoft/playwright-python

官方手冊:https://playwright.dev/python/docs/intro

到此這篇關(guān)于Python Playwright的使用詳解的文章就介紹到這了,更多相關(guān)Python Playwright內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Centos部署django服務(wù)nginx+uwsgi的方法

    Centos部署django服務(wù)nginx+uwsgi的方法

    這篇文章主要介紹了Centos部署django服務(wù)nginx+uwsgi的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python實現(xiàn)輸入數(shù)字的連續(xù)加減方法

    python實現(xiàn)輸入數(shù)字的連續(xù)加減方法

    今天小編就為大家分享一篇python實現(xiàn)輸入數(shù)字的連續(xù)加減方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python使用win32com在百度空間插入html元素示例

    python使用win32com在百度空間插入html元素示例

    這篇文章主要介紹了python使用win32com在百度空間插入html元素的示例,大家參考使用吧
    2014-02-02
  • Python2.7+pytesser實現(xiàn)簡單驗證碼的識別方法

    Python2.7+pytesser實現(xiàn)簡單驗證碼的識別方法

    這篇文章主要介紹了Python2.7+pytesser實現(xiàn)簡單驗證碼的識別方法,簡單分析了pytesser的安裝及Python2.7環(huán)境下實現(xiàn)驗證碼識別的相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python subprocess模塊詳細解讀

    Python subprocess模塊詳細解讀

    這篇文章主要介紹了Python subprocess模塊詳細解讀,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 通過CartPole游戲詳解PPO?優(yōu)化過程

    通過CartPole游戲詳解PPO?優(yōu)化過程

    這篇文章主要為大家介紹了通過CartPole游戲詳解PPO?優(yōu)化過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 音頻處理 windows10下python三方庫librosa安裝教程

    音頻處理 windows10下python三方庫librosa安裝教程

    這篇文章主要介紹了音頻處理 windows10下python三方庫librosa安裝方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 據(jù)Python爬蟲不靠譜預(yù)測可知今年雙十一銷售額將超過6000億元

    據(jù)Python爬蟲不靠譜預(yù)測可知今年雙十一銷售額將超過6000億元

    已經(jīng)是十一月十號了,雙十一即將到來,電商早已預(yù)熱多日,為了在實戰(zhàn)中獲得能力的提升,本篇文章手把手帶你用Python來預(yù)測一下今年雙十一的銷售額將會達到多少,大家可以在過程中查缺補漏,提升水平
    2021-11-11
  • 淺談matplotlib默認字體設(shè)置探索

    淺談matplotlib默認字體設(shè)置探索

    這篇文章主要介紹了matplotlib默認字體設(shè)置探索,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 利用Python 制作二維碼

    利用Python 制作二維碼

    這篇文章主要介紹的是如何利用Python 制作二維碼,文章從介紹python 二維碼制作的第三方庫QRCode 和MyQR展開話題,需要的小伙伴可以參考一下文章的具體內(nèi)容
    2021-09-09

最新評論

崇信县| 新疆| 安阳市| 大关县| 康保县| 德格县| 勐海县| 清苑县| 孝感市| 新疆| 唐山市| 新邵县| 疏附县| 龙井市| 博爱县| 和平县| 琼结县| 汝州市| 唐河县| 崇义县| 淮北市| 东乌| 运城市| 平安县| 台中市| 甘洛县| 凉城县| 深水埗区| 霍林郭勒市| 丰都县| 苍山县| 宁武县| 久治县| 海口市| 乌海市| 大洼县| 东平县| 扶绥县| 平南县| 宜阳县| 郸城县|