Playwright Python 第二阶段:页面操作(核心)

张开发
2026/6/16 3:47:45 15 分钟阅读
Playwright Python 第二阶段:页面操作(核心)
Playwright Python 第二阶段页面操作核心 学习目标完成本阶段后你需要能够熟练定位网页元素模拟真实用户操作点击、输入等掌握 Playwright 自动等待机制判断页面状态与元素状态4️⃣ 元素定位重点元素定位是 Playwright 的核心能力决定你能不能“操控网页”。1. CSS 选择器最常用page.click(#login)page.fill(.username,admin)常见写法选择器示例ID#idclass.class标签div属性input[name‘user’]2. text 选择器推荐page.click(text登录)特点按文本匹配更接近人类操作对前端结构不敏感3. XPath较少用但支持page.click(xpath//button[text()登录])特点功能强语法复杂不推荐新手优先使用4. locator推荐主流方式page.locator(#login).click()优势更稳定支持链式操作支持批量元素5️⃣ 用户行为模拟核心Playwright 可以模拟真实用户行为。1. 点击page.click(text登录)2. 输入文本page.fill(#username,admin)page.fill(#password,123456)3. 输入逐字输入page.type(#username,admin)区别方法特点fill直接填充type模拟键盘逐字输入4. 下拉框page.select_option(#country,CN)5. 鼠标操作page.hover(#menu)page.dblclick(#btn)page.click(#btn,buttonright)6️⃣ 等待机制非常重要Playwright 最大优势自动等待但你仍需掌握手动控制。1. 自动等待默认行为page.click(#login) 自动等待元素出现2. 等待元素出现page.wait_for_selector(#login)3. 等待页面加载page.wait_for_load_state(load)状态说明状态含义load页面完全加载domcontentloadedDOM加载完成networkidle网络空闲4. 强制等待不推荐page.wait_for_timeout(3000) 仅用于调试7️⃣ 页面判断控制逻辑用于判断页面状态避免脚本崩溃。1. 判断当前 URLprint(page.url)2. 判断元素是否存在ifpage.locator(#login).count()0:print(存在)3. 判断是否可见page.locator(#login).is_visible()4. 判断是否可用可点击page.locator(#login).is_enabled() 常见问题必看❌ 1. 元素找不到原因页面没加载完选择器错误解决page.wait_for_selector(#login)❌ 2. 点击失败原因元素不可见被遮挡解决locator.click(forceTrue)❌ 3. 输入无效原因JS 控制输入框解决page.fill()优先用 fill 本阶段总结你已经掌握✔ 元素定位CSS / text / locator✔ 用户行为模拟点击/输入/鼠标✔ 等待机制核心能力✔ 页面状态判断 下一阶段预告 第三阶段数据获取爬虫核心你会学到抓文本抓列表抓接口分页采集 一句话总结 第二阶段本质让程序像“人一样操作网页”

更多文章