溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python+playwright微軟自動(dòng)化工具怎么用

發(fā)布時(shí)間:2021-02-03 08:03:20 來(lái)源:億速云 閱讀:351 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下python+playwright微軟自動(dòng)化工具怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

它支持主流的瀏覽器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同時(shí)支持以無(wú)頭模式、有頭模式運(yùn)行

playwright-python 提供了同步、異步的 API,可以結(jié)合 Pytest 測(cè)試框架使用,并且支持瀏覽器端的自動(dòng)化腳本錄制

項(xiàng)目地址:https://github.com/microsoft/playwright-python

安裝playwright-python,執(zhí)行命令:pip install playwright

python+playwright微軟自動(dòng)化工具怎么用

安裝成功之后,執(zhí)行命令:python -m playwright install,自動(dòng)下載 Chromeium、Firefox、Safari(WebKit)瀏覽器驅(qū)動(dòng)到本地

python+playwright微軟自動(dòng)化工具怎么用

同步

同步的關(guān)鍵字為:sync_playwright

比如,我們依次使用三個(gè)瀏覽器內(nèi)核打開(kāi)瀏覽器,然后百度一下,接著對(duì)在搜索界面截圖,最后關(guān)閉瀏覽器

from time import sleep
 
from playwright import sync_playwright
 
# 注意:默認(rèn)是無(wú)頭模式
 
with sync_playwright() as p:
    # 分別對(duì)應(yīng)三個(gè)瀏覽器驅(qū)動(dòng)
    for browser_type in [p.chromium, p.firefox, p.webkit]:
 
        # 指定為有頭模式,方便查看
        browser = browser_type.launch(headless=False)
        page = browser.newPage()
        page.goto('http://baidu.com')
 
        # 執(zhí)行一次搜索操作
        page.fill("input[name=\"wd\"]", "AirPython")
        with page.expect_navigation():
            page.press("input[name=\"wd\"]", "Enter")
 
        # 等待頁(yè)面加載完全
        page.waitForSelector("text=百度熱榜")
 
        # 截圖
        page.screenshot(path=f'example-{browser_type.name}.png')
 
        # 休眠5s
        sleep(5)
 
        # 關(guān)閉瀏覽器
        browser.close()

需要指出的是,playwright-python 內(nèi)置的 API 基本上囊括常見(jiàn)的自動(dòng)化操作

異步

異步步的關(guān)鍵字為:async_playwright

結(jié)合 asyncio,我們同時(shí)執(zhí)行上面的操作

import asyncio
 
from playwright import async_playwright
 
# 異步執(zhí)行
async def main():
    async with async_playwright() as p:
        for browser_type in [p.chromium, p.firefox, p.webkit]:
            # 指定為有頭模式,方便查看
            browser = await browser_type.launch(headless=False)
            page = await browser.newPage()
 
            await page.goto('http://baidu.com')
 
            # 執(zhí)行一次搜索操作
            await page.fill("input[name=\"wd\"]", "AirPython")
            await page.press("input[name=\"wd\"]", "Enter")
 
            # 等待頁(yè)面加載完全
            await page.waitForSelector("text=百度熱榜")
 
            # 截圖
            await page.screenshot(path=f'example-{browser_type.name}.png')
 
            await browser.close()
 
 
asyncio.get_event_loop().run_until_complete(main())

事實(shí)上,Playwright 是一個(gè)跨語(yǔ)言的自動(dòng)化框架,支持 Python、Java、JS 等

Playwright 相比傳統(tǒng)的自動(dòng)化框架 Selenium 來(lái)說(shuō),在 Context 上下文及 API 使用上,顯得更簡(jiǎn)潔且強(qiáng)大

看完了這篇文章,相信你對(duì)“python+playwright微軟自動(dòng)化工具怎么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI