从Selenium转Playwright:能否实现交互式命令测试与内省?
在Playwright中实现类似Selenium的交互式操作
你可以通过以下两种方式实现实时测试命令和选择器的交互式操作:
方法一:使用Python交互式Shell(推荐IPython)
放弃with语句的自动上下文管理,手动启动Playwright并保留page等变量的引用,就能在Shell里直接调用:
- 启动IPython(或Python原生Shell)
- 逐行执行以下代码:
from playwright.sync_api import sync_playwright # 手动启动Playwright上下文,避免自动关闭 pw = sync_playwright().start() # 启动可视化浏览器 browser = pw.chromium.launch(headless=False) page = browser.new_page() page.goto("https://google.com")
- 现在你可以直接在Shell里输入任意Playwright命令测试,比如:
# 搜索框输入内容 page.locator('input[name="q"]').fill("Playwright 交互式测试") # 点击搜索按钮 page.locator('input[name="btnK"]').click() # 获取页面标题 print(page.title())
- 测试完成后,手动清理资源:
browser.close() pw.stop()
方法二:使用Playwright Codegen工具
Codegen是Playwright自带的代码生成工具,支持实时操作浏览器并生成代码,同时可以测试选择器:
- 在终端执行命令:
playwright codegen google.com
- 打开浏览器窗口后,你可以:
- 在页面上手动操作,工具会自动生成对应的Python代码
- 在顶部的选择器输入框中输入CSS/XPath选择器,实时验证元素定位是否正确
- 点击“Record”按钮开始/停止录制,导出代码用于后续抓取任务
内容的提问来源于stack exchange,提问作者LdL
相关产品推荐
相关产品推荐

