python+playwright 元素操作示例代碼
Playwright 可以與 HTML 輸入元素交互,例如文本輸入、復(fù)選框、單選按鈕、選擇選項(xiàng)、鼠標(biāo)單擊、鍵入字符、鍵和快捷方式以及上傳文件和焦點(diǎn)元素。
fill() 輸入文字
使用 locator.fill()
是填寫(xiě)表單字段的最簡(jiǎn)單方法。它聚焦元素并input使用輸入的文本觸發(fā)事件。它適用于 <input>
, <textarea>
和 [contenteditable]
元素。
同步示例
# Text 文本框輸入 page.get_by_role("textbox").fill("Peter") # 根據(jù)label 定位 Date 日期輸入 page.get_by_label("Birth date").fill("2020-02-02") # Time input page.get_by_label("Appointment time").fill("13:15") # Local datetime input page.get_by_label("Local time").fill("2020-03-02T05:15")
異步示例
# Text input await page.get_by_role("textbox").fill("Peter") # Date input await page.get_by_label("Birth date").fill("2020-02-02") # Time input await page.get_by_label("Appointment time").fill("13:15") # Local datetime input await page.get_by_label("Local time").fill("2020-03-02T05:15")
鼠標(biāo)點(diǎn)擊 click()
# Generic click page.get_by_role("button").click() # Double click page.get_by_text("Item").dblclick() # Right click page.get_by_text("Item").click(button="right") # Shift + click page.get_by_text("Item").click(modifiers=["Shift"]) # Hover over element page.get_by_text("Item").hover() # Click the top left corner page.get_by_text("Item").click(position={ "x": 0, "y": 0})
文件上傳
可以使用locator.set_input_files()方法選擇要上傳的輸入文件。它期望第一個(gè)參數(shù)指向類(lèi)型為 的輸入元素"file"。數(shù)組中可以傳遞多個(gè)文件。如果某些文件路徑是相對(duì)的,則它們將相對(duì)于當(dāng)前工作目錄進(jìn)行解析。空數(shù)組清除所選文件。
# Select one file page.get_by_label("Upload file").set_input_files('myfile.pdf') # Select multiple files page.get_by_label("Upload files").set_input_files(['file1.txt', 'file2.txt']) # Remove all the selected files page.get_by_label("Upload file").set_input_files([]) # Upload buffer from memory page.get_by_label("Upload file").set_input_files( files=[ {"name": "test.txt", "mimeType": "text/plain", "buffer": b"this is a test"} ], )
select 下拉框
# Single selection matching the value page.get_by_label('Choose a color').select_option('blue') # Single selection matching the label page.get_by_label('Choose a color').select_option(label='Blue') # Multiple selected items page.get_by_label('Choose multiple colors').select_option(['red', 'green', 'blue'])
復(fù)選框和單選
# Check the checkbox page.get_by_label('I agree to the terms above').check() # Assert the checked state assert page.get_by_label('Subscribe to newsletter').is_checked() is True # Select the radio button page.get_by_label('XL').check()
focus()聚焦給定元素
page.get_by_label('password').focus()
drag_to 拖動(dòng)元素
此方法將:
- 將鼠標(biāo)懸停在要拖動(dòng)的元素上。
- 按鼠標(biāo)左鍵。
- 將鼠標(biāo)移動(dòng)到將接收放置的元素。
- 松開(kāi)鼠標(biāo)左鍵。
page.locator("#item-to-be-dragged").drag_to(page.locator("#item-to-drop-at"))
到此這篇關(guān)于python+playwright 元素操作的文章就介紹到這了,更多相關(guān)python playwright 元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用Playwright模擬API的項(xiàng)目實(shí)踐
- Python自動(dòng)化神器Playwright的用法詳解
- Python寫(xiě)UI自動(dòng)化之playwright(點(diǎn)擊操作)詳解
- Python?Playwright進(jìn)行常見(jiàn)的頁(yè)面交互操作
- 深入理解Playwright的高級(jí)功能和用法
- Python中playwright啟動(dòng)瀏覽器與常見(jiàn)運(yùn)行方式詳解
- Python中Playwright模塊進(jìn)行自動(dòng)化測(cè)試的實(shí)現(xiàn)
- 使用Python中的Playwright制作測(cè)試視頻的實(shí)現(xiàn)步驟
- 使用Playwright進(jìn)行視覺(jué)回歸測(cè)試詳解
- python playwright--pytest-playwright、pytest-base-url插件編寫(xiě)用例
- Playwright 跟蹤查看器的高級(jí)用法
相關(guān)文章
利用Python中的pandas庫(kù)對(duì)cdn日志進(jìn)行分析詳解
這篇文章主要介紹了利用Python中的pandas庫(kù)進(jìn)行cdn日志分析的相關(guān)資料,文中分享了pandas對(duì)cdn日志分析的完整示例代碼,然后詳細(xì)介紹了關(guān)于pandas庫(kù)的相關(guān)內(nèi)容,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-03-03Python實(shí)現(xiàn)爬取網(wǎng)頁(yè)中動(dòng)態(tài)加載的數(shù)據(jù)
這篇文章主要介紹了Python實(shí)現(xiàn)爬取網(wǎng)頁(yè)中動(dòng)態(tài)加載的數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08簡(jiǎn)單介紹Python中的readline()方法的使用
這篇文章主要介紹了簡(jiǎn)單介紹Python中的readline()方法的使用,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05Python?matplotlib.pyplot.hist()繪制直方圖的方法實(shí)例
直方圖(Histogram)又稱質(zhì)量分布圖,是一種統(tǒng)計(jì)報(bào)告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況,一般用橫軸表示數(shù)據(jù)類(lèi)型,縱軸表示分布情況,下面這篇文章主要給大家介紹了關(guān)于Python?matplotlib.pyplot.hist()繪制直方圖的相關(guān)資料,需要的朋友可以參考下2022-06-06Python2和Python3之間的str處理方式導(dǎo)致亂碼的講解
今天小編就為大家分享一篇關(guān)于Python2和Python3之間的str處理方式導(dǎo)致亂碼的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01通過(guò)實(shí)例解析python and和or使用方法
這篇文章主要介紹了通過(guò)實(shí)例解析python and和or使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11如何基于Python + requests實(shí)現(xiàn)發(fā)送HTTP請(qǐng)求
這篇文章主要介紹了如何基于Python + requests實(shí)現(xiàn)發(fā)送HTTP請(qǐng)求,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Python兩臺(tái)電腦實(shí)現(xiàn)TCP通信的方法示例
這篇文章主要介紹了Python兩臺(tái)電腦實(shí)現(xiàn)TCP通信的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05