日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python能不能自动写代码_微软最强 Python 自动化工具开源了!不用写一行代码

發布時間:2023/12/4 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python能不能自动写代码_微软最强 Python 自动化工具开源了!不用写一行代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 前言

最近,微軟開源了一款非常強大的 Python 自動化依賴庫:playwright-python,它支持主流的瀏覽器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同時支持以無頭模式、有頭模式運行,playwright-python 提供了同步、異步的 API,可以結合 Pytest 測試框架使用,并且支持瀏覽器端的自動化腳本錄制。

項目地址:

https://github.com/microsoft/playwright-python

2. 準備

在實戰之前,我們只需要 2 步

第 1 步,安裝 playwright-python 依賴庫

#?安裝依賴庫

pip3?install?playwright

第 2 步,安裝主流的瀏覽器驅動

這樣,會將 Chromeium、Firefox、Webkit 瀏覽器驅動下載到本地

#?安裝瀏覽器驅動

python?-m?playwright?install

3. 實戰一下

3-1 錄制腳本

我們先查看錄制腳本的命令說明

#?我們通過下面命令打開?Chrome?瀏覽器開始錄制腳本

#?指定生成語言為:Python(默認Python,可選)

#?保存的文件名:1.py(可選)

#?瀏覽器驅動:webkit(默認webkit,可選)

#?最后跟著要打開的目標網站(默認僅僅是打開瀏覽器,可選)

python?-mplaywright?codegen?--target?python?-o?1.py?-b?webkit?https://www.baidu.com

接著,在瀏覽器模擬搜索一次的操作,然后關閉瀏覽器

fromplaywright?import?sync_playwright

def?run(playwright):browser?=?playwright.webkit.launch(headless=False)context?=?browser.newContext#Opennew?pagepage?=?context.newPage#?Gotohttps://www.baidu.com/page.goto("https://www.baidu.com/")

#?Fill?input[name="wd"]

page.fill("input[name="wd"]","AirPython")

#?Press?Enter#?withpage.expect_navigation(url="https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=AirPython&fenlei=256&rsv_pq=a1739d870005eec3&rsv_t=e640wwS33ra1Koivxvy1WyTxyknRwnllWiw4JBqIYd/KUN/WKpWLtL2b2+0&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=21&rsv_sug1=18&rsv_sug7=100&rsv_sug2=0&rsv_btype=i&inputT=6199&rsv_sug4=6199"):

withpage.expect_navigation:page.press("input[name="wd"]","Enter")

#?Closepagepage.close

#?---------------------

context.close

browser.close

withsync_playwrightasplaywright:

run(playwright)

3-2 同步

同步的關鍵字為:sync_playwright

比如,我們依次使用三個瀏覽器內核打開瀏覽器,然后百度一下,接著對在搜索界面截圖,最后關閉瀏覽器

fromtimeimport?sleep

fromplaywright?import?sync_playwright#?注意:默認是無頭模式withsync_playwrightasp:#?分別對應三個瀏覽器驅動forbrowser_typein[p.chromium,?p.firefox,?p.webkit]:

#?指定為有頭模式,方便查看browser?=?browser_type.launch(headless=False)page?=?browser.newPagepage.goto(?http://baidu.com?)

#?執行一次搜索操作page.fill("input[name="wd"]","AirPython")

withpage.expect_navigation:page.press("input[name="wd"]","Enter")

#?等待頁面加載完全page.waitForSelector("text=百度熱榜")

#?截圖page.screenshot(path=f?example-{browser_type.name}.png?)

#?休眠5s

sleep(5)

#?關閉瀏覽器browser.close

需要指出的是,playwright-python 內置的 API 基本上囊括常見的自動化操作

3-3 異步

異步步的關鍵字為:async_playwright

結合 asyncio,我們同時執行上面的操作

import?asyncio

fromplaywright?import?async_playwright#?異步執行async?def?main:asyncwithasync_playwrightasp:forbrowser_typein[p.chromium,?p.firefox,?p.webkit]:

#?指定為有頭模式,方便查看browser?=?await?browser_type.launch(headless=False)page?=?await?browser.newPageawait?page.goto(?http://baidu.com?)

#?執行一次搜索操作await?page.fill("input[name="wd"]","AirPython")

await?page.press("input[name="wd"]","Enter")

#?等待頁面加載完全await?page.waitForSelector("text=百度熱榜")

#?截圖await?page.screenshot(path=f?example-{browser_type.name}.png?)

await?browser.closeasyncio.get_event_loop.run_until_complete(main)

4. 最后

事實上,Playwright 是一個跨語言的自動化框架,支持 Python、Java、JS 等。

Playwright 相比傳統的自動化框架 Selenium 來說,在 Context 上下文及 API 使用上,顯得更簡潔且強大,更加詳細的功能可以通過閱讀原文去解鎖。

【責任編輯:龐桂玉 TEL:(010)68476606】

點贊 0

總結

以上是生活随笔為你收集整理的python能不能自动写代码_微软最强 Python 自动化工具开源了!不用写一行代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。