playwright學習記錄


playwright學習記錄

一、playwright介紹

playwright是一個自動化測試工具,由微軟開發,主要用於web端的UI測試,支持Python、Java,下文中介紹的playwright均指playwright-python。Playwright是一個強大的Python庫,僅用一個API即可自動執行ChromiumFirefoxWebKit等主流瀏覽器自動化操作,並同時支持以無頭模式有頭模式運行。Playwright提供的自動化技術是綠色的、功能強大、可靠且快速,支持LinuxMac以及Windows操作系統。

playwright相比已有的自動化測試框架來說,具有有很多優勢,比如:

  • 跨瀏覽器,支持Chromium、Firefox、WebKit
  • 跨操作系統,支持Linux、Mac、Windows
  • 可提供錄制生成代碼功能,解放雙手
  • 可用於移動端

目前存在的缺點就是生態和文檔還不是非常完備,比如沒有API中文文檔、沒有較好的教程和示例供學習。

二、安裝

1、安裝playwright庫

pip install playwright    #python版本要求:3.7+以上

2、安裝瀏覽器驅動文件

python -m playwright install	#因為安裝驅動是去外網下載,所以下載的時候會有點慢

三、基本使用方法

1、錄制腳本

輸入以下命令,pythonwright會使用谷歌瀏覽器打開百度並且錄制腳本,保存為test.py

python -m playwright codegen --target python -o test.py -b chromium https://www.baidu.com
--target:規定生成腳本的語言,有JS和Python兩種,默認為Python
-o:將錄制的腳本保存到一個文件
-b:指定瀏覽器驅動

2、定位方式

1)xpath

選擇器以//或..假定為xpath=selector
示例:page.click('xpath=//html')

簡寫方式:page.click('//html')

2)text

選擇器以引號("或')開頭和結尾為text=selector
示例:page.click('text="foo"')

簡寫方式:page.click('"foo"')

3)css

否則,假設選擇器為 css=selector
示例:page.click('css=div')

簡寫方式:page.click('div')

四、使用方法

1、添加cookie--addCookies

with sync_playwright() as p:
    browser_type = p.chromium
    browser = browser_type.launch(headless=False)
    context = browser.newContext()
    context.addCookies(cookies=[{'name': 'xx','value':'xx','path':'xx','domain':'xx'},
    							{'name': 'xx','value':'xx','path':'xx','domain':'xx'}]
    page1 = context.newPage()

2、跳轉網址--goto

page1頁面進入指定網址

page1.goto('xx')

3、尋找元素--querySelector

尋找page1頁面上的元素,如果沒有找到,返回null

page1.querySelector('xx')

4、點擊鏈接跳轉新頁面

點擊網頁1的鏈接跳轉到網頁2后,定位網頁2

with page1.expect_popup() as popup_info:
page1.click('xx')  # 此處點擊A頁面跳轉鏈接
page2 = popup_info.value
page2.click('xx')  # B頁面的其他操作
page2.fill('xx', 'str')

5、點擊元素--click

page1.click('xx')

6、填充元素--fill

page1.fill('xx','xx')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM