亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

在本文中,我們將介紹如何使用Playwright這一現(xiàn)代化的瀏覽器自動(dòng)化工具來啟動(dòng)瀏覽器,并深入了解其運(yùn)行方式。Playwright是一個(gè)功能強(qiáng)大的工具,可以幫助開發(fā)人員自動(dòng)化測(cè)試、網(wǎng)頁截圖、信息提取等任務(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()              # 打開一個(gè)標(biāo)簽頁
    page.goto("https://www.baidu.com")     # 打開百度地址
    print(page.title())                    # 打印當(dāng)前頁面title
    browser.close()                        # 關(guān)閉瀏覽器對(duì)象

打印結(jié)果如下:

注:playwright默認(rèn)是無頭方式啟動(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來運(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í)行的過程,我們可以加上等待來減緩執(zhí)行,但是與selenium不同,playwright通過slow_mo (單位是毫秒)減慢執(zhí)行速度,它的作用范圍是全局的,從啟動(dòng)瀏覽器到操作元素每個(gè)動(dòng)作都會(huì)有等待間隔,方便在出現(xiàn)問題的時(shí)候看到頁面操作情況。使用方法如下:

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()來實(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)是無頭模式運(yùn)行以及等待的改變。下一篇文章我們將介紹playwright定位元素的方法。

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

相關(guān)文章

  • 詳解Django admin高級(jí)用法

    詳解Django admin高級(jí)用法

    這篇文章主要介紹了Django admin高級(jí)用法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python 內(nèi)置函數(shù)memoryview(obj)的具體用法

    Python 內(nèi)置函數(shù)memoryview(obj)的具體用法

    本篇文章主要介紹了Python 內(nèi)置函數(shù)memoryview(obj)的具體用法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • 使用Python的PEAK來適配協(xié)議的教程

    使用Python的PEAK來適配協(xié)議的教程

    這篇文章主要介紹了使用Python的PEAK來適配協(xié)議的教程,來自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • python基礎(chǔ)知識(shí)(一)變量與簡(jiǎn)單數(shù)據(jù)類型詳解

    python基礎(chǔ)知識(shí)(一)變量與簡(jiǎn)單數(shù)據(jù)類型詳解

    這篇文章主要介紹了python變量與簡(jiǎn)單數(shù)據(jù)類型詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python根據(jù)時(shí)間獲取周數(shù)代碼實(shí)例

    python根據(jù)時(shí)間獲取周數(shù)代碼實(shí)例

    這篇文章主要介紹了python根據(jù)時(shí)間獲取周數(shù),通過周數(shù)獲取時(shí)間代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python快速進(jìn)階利用Tkinter定制一個(gè)信息提示框

    python快速進(jìn)階利用Tkinter定制一個(gè)信息提示框

    這篇文章主要介紹了python快速進(jìn)階利用Tkinter定制一個(gè)信息提示框,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • django開發(fā)之settings.py中變量的全局引用詳解

    django開發(fā)之settings.py中變量的全局引用詳解

    當(dāng)網(wǎng)站里面的一些內(nèi)容,如郵箱,網(wǎng)站標(biāo)題,網(wǎng)站的描述,這些東西我們可以存在數(shù)據(jù)庫中也可以存放在我們的setting 文件中,這篇文章主要給大家介紹了django中settings.py變量的全局引用的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-03-03
  • python openpyxl方法 zip函數(shù)用法及說明

    python openpyxl方法 zip函數(shù)用法及說明

    這篇文章主要介紹了python openpyxl方法 zip函數(shù)用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python 使用dict實(shí)現(xiàn)switch的操作

    Python 使用dict實(shí)現(xiàn)switch的操作

    這篇文章主要介紹了Python 使用dict實(shí)現(xiàn)switch的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • python3.6生成器yield用法實(shí)例分析

    python3.6生成器yield用法實(shí)例分析

    這篇文章主要介紹了python3.6生成器yield用法,結(jié)合實(shí)例形式分析了Python3.6中生成器yield的功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08

最新評(píng)論