log01-开始

整体框架#

框架如下:

from playwright.sync_api import sync_playwright

def run():
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=False, channel="msedge")  # 设置为 False 可以看到浏览器界面
        page = browser.new_page() # 创建一个页面对象
        page.goto("https://playwright.dev/") # 访问目标网页
        page.click("text=Get started") # 找到需要点击的链接,通过click触发
        print(page.title())
        input("Press Enter to close the browser...") #通过这个留存浏览器页面
        browser.close()

if __name__ == "__main__":
    run()

一般来说,首先需要创建一个浏览器实例,并可以指定为edge。 设置为False正是我需要的。

在这个example中展示了page元素的几个支持的功能,比如click点击,title标题,goto前往链接。

具体来说说click。

page.click("text=Get started")

其完整版本应该是:

get_started = page.locator("text=Get started")
get_started.click()

也就是调用了一个Text Selector定位器,创建了一个locator对象。通过文本快速匹配元素。还可以通过以下这些方法创建locator。

定位器类型示例语法描述说明
CSS Selector"css=div.container > button"使用标准 CSS 选择器语法
Text Selector"text=Get started"匹配包含指定文本的元素
Role Selectorpage.get_by_role("button")根据 ARIA 角色定位元素,适合无障碍支持
Label Selectorpage.get_by_label("Username")根据表单标签定位输入框等控件
Placeholder Selectorpage.get_by_placeholder("Search")根据输入框的 placeholder 属性定位
Alt Text Selectorpage.get_by_alt_text("Logo")根据图片的 alt 属性定位
Title Selectorpage.get_by_title("Close")根据元素的 title 属性定位
Test ID Selectorpage.get_by_test_id("submit-btn")用于测试专用的 data-testid 属性定位
XPath Selector"xpath=//button[@id='submit']"使用 XPath 表达式定位
ID Selector"id=submit"根据元素 ID 定位

Locator对象还支持以下的一些常用操作。

方法名描述说明
locator.click()点击元素
locator.check()勾选复选框
locator.uncheck()取消勾选复选框
locator.hover()鼠标悬停
locator.fill(value)填充输入框
locator.focus()聚焦元素
locator.press(key)模拟按键
locator.set_input_files(files)上传文件
locator.select_option(value)选择下拉选项

当然也远不止这一些。Locator API还包含这些功能。Playwright Python Locator API