playwright元素操作


1、輸入文字(fill)

適用於:<input>,<textarea>[contenteditable],其他類型的會報錯,page、element、frame都可以使用fill方法

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")
    #頁面直接調用fill方法
    page.fill("#kw", "playwright") #向百度搜索框輸入playwright
    #元素調用fill方法 
    element_handle = page.query_selector("#kw")
    element_handle.fill("playwright") #向百度搜索框輸入playwright

 

2、模擬鍵盤挨個輸入字符(type)

我們也可以在type方法中增加delay參數,設置每個字符之間輸入的延遲。page、element、frame都可以使用type方法。不適用於ctrl、enter等特殊鍵

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")
    page.type("#kw", "哈哈哈")

3、模擬鍵盤按鍵操作(press)

模擬鍵盤上的每個按鍵,也支持Control+c等組合按鍵,不支持連續按鍵(例如先按a、再按b)

Backquote, Minus, Equal, Backslash, Backspace, Tab, Delete, Escape,
ArrowDown, End, Enter, Home, Insert, PageDown, PageUp, ArrowRight,
ArrowUp, F1 - F12, Digit0 - Digit9, KeyA - KeyZ, etc.

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")

page.type("#kw", "enter")#模擬鍵盤挨個輸入字符
page.press("#kw", "Control+a") #模擬ctrl+a鍵
page.press("#kw", "Control+x")

4、聚焦到某個元素(focus)

page.focus('元素')

5、鼠標點擊(click)

page.click("元素")
selector參數:指定元素
button:右擊、左擊、中建  "left", "middle", "right",默認左
click_count:點擊次數

6、鼠標雙擊(dbclick)

page.dbclick("元素")

 

7、鼠標懸浮(hover)

page.hover('#item')

 

8、操作復選框和單選框(check、uncheck)

適用於input[type=checkbox]input[type=radio][role=checkbox]label與復選框或單選按鈕相關聯

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False,slow_mo=1000)
    context = browser.new_context()
    page = context.new_page()
    page.goto('https://passport.baidu.com/v2/?login') #進入百度的登錄頁面

    with context.expect_page() as new_page_info:
        page.click("#TANGRAM__PSP_3__regLink")#點擊我要注冊
    new_page = new_page_info.value
    new_page.check("#TANGRAM__PSP_4__isAgree") #選擇同意協議

 

 

 

9、操作復選框和單選框(select_option)

適用於<select>元素中選擇一個或多個選項

 

參考鏈接:https://playwright.dev/python/docs/input

 

 


免責聲明!

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



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