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