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

Python中playwright啟動(dòng)瀏覽器與常見(jiàn)運(yùn)行方式詳解

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

前言

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

啟動(dòng)瀏覽器

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

from playwright.sync_api import sync_playwright


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

打印結(jié)果如下:

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

異步運(yùn)行

Playwright 支持2種運(yùn)行方式:同步和異步。如果項(xiàng)目使用asyncio,那我們應(yīng)該使用 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運(yùn)行方式

除了with方式運(yùn)行之外,我們還可以使用start,stop來(lái)運(yùn)行。代碼如下:

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()

等待

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

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()來(lái)實(shí)現(xiàn)等待,當(dāng)我們調(diào)試時(shí)需要等待,即可使用該方法。

示例代碼如下:

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()

運(yùn)行結(jié)果如下:

總結(jié)

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

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

相關(guān)文章

  • Python爬蟲(chóng)天氣預(yù)報(bào)實(shí)例詳解(小白入門(mén))

    Python爬蟲(chóng)天氣預(yù)報(bào)實(shí)例詳解(小白入門(mén))

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

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

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

    Tkinter組件Entry的具體使用

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

    python中wx將圖標(biāo)顯示在右下角的腳本代碼

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

    python存儲(chǔ)16bit和32bit圖像的實(shí)例

    今天小編就為大家分享一篇python存儲(chǔ)16bit和32bit圖像的實(shí)例,具有的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Matplotlib繪制雷達(dá)圖和三維圖的示例代碼

    Matplotlib繪制雷達(dá)圖和三維圖的示例代碼

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

    python?import模塊時(shí)有錯(cuò)誤紅線的原因

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

    pip命令無(wú)法使用的解決方法

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

    淺析Python中的元編程

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

    詳解Python中__new__方法的作用

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

最新評(píng)論

遂平县| 合山市| 乾安县| 常德市| 盘锦市| 潢川县| 织金县| 安塞县| 灵台县| 土默特右旗| 和田县| 肃宁县| 通州区| 平顺县| 方城县| 阳春市| 玉门市| 武城县| 商丘市| 东辽县| 文成县| 麻城市| 长阳| 柳江县| 黑山县| 蒲城县| 澎湖县| 丰原市| 娄烦县| 栾川县| 淮南市| 永吉县| 新龙县| 榆树市| 湖南省| 宜兰市| 双江| 昆明市| 苏尼特左旗| 清流县| 来宾市|