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

Python中playwright啟動瀏覽器與常見運行方式詳解

 更新時間:2024年05月02日 07:51:27   作者:霍格沃茲測試開發(fā)學社  
Playwright是一個功能強大的工具,可以幫助開發(fā)人員自動化測試、網(wǎng)頁截圖、信息提取等任務(wù),本文主要介紹了如何使用Playwright來啟動瀏覽器,感興趣的可以了解下

前言

在本文中,我們將介紹如何使用Playwright這一現(xiàn)代化的瀏覽器自動化工具來啟動瀏覽器,并深入了解其運行方式。Playwright是一個功能強大的工具,可以幫助開發(fā)人員自動化測試、網(wǎng)頁截圖、信息提取等任務(wù)。它支持多種瀏覽器,包括Chrome、Firefox和WebKit。

啟動瀏覽器

上一篇文章中,我們安裝了playwright和各個瀏覽器的測試版本,所以我們可以直接啟動瀏覽器,代碼如下:

from playwright.sync_api import sync_playwright


with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)          # 啟動 chromium 瀏覽器
    page = browser.new_page()              # 打開一個標簽頁
    page.goto("https://www.baidu.com")     # 打開百度地址
    print(page.title())                    # 打印當前頁面title
    browser.close()                        # 關(guān)閉瀏覽器對象

打印結(jié)果如下:

注:playwright默認是無頭方式啟動運行瀏覽器的,如果我們想要看到界面,需要查看瀏覽器界面,需要將headless設(shè)置為False

異步運行

Playwright 支持2種運行方式:同步和異步。如果項目使用asyncio,那我們應該使用 async API:

import asyncio
from playwright.async_api import async_playwright



async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        page = await browser.new_page()
        await page.goto("https://www.baidu.com")
        print(await page.title())
        await browser.close()

asyncio.run(main())

打印結(jié)果如下:

start stop運行方式

除了with方式運行之外,我們還可以使用start,stop來運行。代碼如下:

from playwright.sync_api import sync_playwright

playwright = sync_playwright().start()

browser = playwright.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://www.baidu.com/")


browser.close()
playwright.stop()

等待

相對于selenium,playwright執(zhí)行速度會更快,為了便于我們查看執(zhí)行的過程,我們可以加上等待來減緩執(zhí)行,但是與selenium不同,playwright通過slow_mo (單位是毫秒)減慢執(zhí)行速度,它的作用范圍是全局的,從啟動瀏覽器到操作元素每個動作都會有等待間隔,方便在出現(xiàn)問題的時候看到頁面操作情況。使用方法如下:

chromium.launch(headless=False, slow_mo=50)

示例代碼如下:

from playwright.sync_api import sync_playwright


with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=1000)
    page = browser.new_page()
    page.goto("https://www.baidu.com")
    print(page.title())
    page.fill('#kw', "theshy")
    page.click('#su')
    browser.close()

注:與selenium不同,playwright不再支持time.sleep(),而是使用page.wait_for_timeout()來實現(xiàn)等待,當我們調(diào)試時需要等待,即可使用該方法。

示例代碼如下:

from playwright.sync_api import sync_playwright



with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=1000)
    page = browser.new_page()
    page.goto("https://www.baidu.com")
    print(page.title())
    # 等待5秒
    page.wait_for_timeout(5000)
    page.fill('#kw', "theshy")
    page.click('#su')
    # 等待3秒 
    page.wait_for_timeout(3000)
    browser.close()

運行結(jié)果如下:

總結(jié)

本文主要介紹了一些playwright的簡單使用,playwright的使用與selenium有一些不同,我們需要注意不同點,比如playwright默認是無頭模式運行以及等待的改變。下一篇文章我們將介紹playwright定位元素的方法。

到此這篇關(guān)于Python中playwright啟動瀏覽器與常見運行方式詳解的文章就介紹到這了,更多相關(guān)Python playwright內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬蟲天氣預報實例詳解(小白入門)

    Python爬蟲天氣預報實例詳解(小白入門)

    這篇文章主要介紹了Python爬蟲天氣預報實例詳解(小白入門),詳細介紹了整個爬蟲建立的流程,最后分享了實現(xiàn)代碼,很簡潔,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • pandas數(shù)據(jù)拼接的實現(xiàn)示例

    pandas數(shù)據(jù)拼接的實現(xiàn)示例

    這篇文章主要介紹了pandas數(shù)據(jù)拼接的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Tkinter組件Entry的具體使用

    Tkinter組件Entry的具體使用

    本文主要介紹了Tkinter組件Entry的具體使用,Entry組件通常用于獲取用戶的輸入文本,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python中wx將圖標顯示在右下角的腳本代碼

    python中wx將圖標顯示在右下角的腳本代碼

    python中wx將圖標顯示在右下腳的代碼,此程序摘自wxdemo,不夠完善,只供參考用
    2013-03-03
  • python存儲16bit和32bit圖像的實例

    python存儲16bit和32bit圖像的實例

    今天小編就為大家分享一篇python存儲16bit和32bit圖像的實例,具有的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Matplotlib繪制雷達圖和三維圖的示例代碼

    Matplotlib繪制雷達圖和三維圖的示例代碼

    這篇文章主要介紹了Matplotlib繪制雷達圖和三維圖的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • python?import模塊時有錯誤紅線的原因

    python?import模塊時有錯誤紅線的原因

    這篇文章主要介紹了python?import模塊時有錯誤紅線的原因及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • pip命令無法使用的解決方法

    pip命令無法使用的解決方法

    今天小編就為大家分享一篇pip命令無法使用的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 淺析Python中的元編程

    淺析Python中的元編程

    Python元編程是指在運行時對Python代碼進行操作的技術(shù),它可以動態(tài)地生成、修改和執(zhí)行代碼,從而實現(xiàn)一些高級的編程技巧,本文就來和大家詳細聊聊吧
    2023-03-03
  • 詳解Python中__new__方法的作用

    詳解Python中__new__方法的作用

    Python類中有些方法名、屬性名的前后都添加__雙下畫線,這種方法、屬性通常屬于Python的特殊方法和特殊屬性。本文將聊聊構(gòu)造方法__new__實際程序的應用場景,感興趣的可以了解一下
    2022-03-03

最新評論

明光市| 昭通市| 正安县| 凉城县| 出国| 敖汉旗| 石家庄市| 从江县| 沈阳市| 定南县| 太康县| 万荣县| 驻马店市| 田阳县| 齐齐哈尔市| 安龙县| 白玉县| 金塔县| 东海县| 通河县| 都兰县| 克山县| 禄劝| 昆山市| 信宜市| 耒阳市| 中西区| 济阳县| 松原市| 体育| 通榆县| 定兴县| 康保县| 新源县| 克山县| 特克斯县| 嘉祥县| 肇源县| 措美县| 龙山县| 金沙县|