Playwright系列(12):调试选择器

简介: Playwright系列(12):调试选择器

大家好,我是阿萨。写脚本的同学都知道我们调试脚本最难的就是调试选择器了。今天学习如何调试选择器。Playwright会抛出一个超时异常,比如locator.click。当一个元素在页面上不存在时,超过30000ms的超时。有多种调试选择器的方法。

  • Playwright检查器(Playwright Inspector)可以在每一个Playwright的API调用中检查页面。
  • 浏览器DevTools用DevTools元素面板来检查选择器。
  • 追踪器可以查看测试运行期间的页面情况。
  • 详尽的API日志显示定位元素时的可操作性检查。


使用 Playwright  定位器


打开Playwright定位器,单击 "探索 "按钮,将鼠标悬停在屏幕中的元素上,并单击它们以自动生成这些元素的选择器。要验证选择器的指向,可以把它粘贴到检查器的输入栏中。


使用DevTools


你也可以在任何浏览器的开发者工具控制台内使用以下API。当以PWDEBUG=console的调试模式运行时,在开发者工具控制台中可以使用一个playwright对象。

  • 用PWDEBUG=console运行
  • 设置一个断点来暂停执行
  • 在浏览器开发工具中打开控制台面板


playwright.$(selector)

查询 Playwright 选择器,使用实际Playwright 查询引擎。

playwright.$('.auth-form >> text=Log in');<button>Log in</button>


playwright.$$(selector)

和 playwright.$, 但是返回所有匹配的文本。

> playwright.$$('li >> text=John')> [<li>, <li>, <li>, <li>]


playwright.inspect(selector)

在元素面板中揭示元素(如果相应浏览器的DevTools支持)。


> playwright.inspect('text=Log in')


playwright.locator(selector)

查询 Playwright 元素


> playwright.locator('.auth-form', { hasText: 'Log in' });
> Locator ()> - element: button> - elements: [button]


playwright.highlight(selector)

高亮第一个选择的元素。


> playwright.highlight('.auth-form');

playwright.clear()


> playwright.clear()

清除现有的高亮。


playwright.selector(element)

为给定的元素生成选择器。


> playwright.selector($0)


"div[id="glow-ingress-block"] >> text=/.*Hello.*/"


冗长的API日志

Playwright支持使用DEBUG环境变量进行粗略的日志记录。


DEBUG=pw:api pytest -s


相关文章
|
开发工具 git
Playwright系列(6):如何集成到GitHub
Playwright系列(6):如何集成到GitHub
411 0
Playwright系列(6):如何集成到GitHub
|
前端开发 JavaScript
Playwright系列(9):常见操作HTML 元素方式
Playwright系列(9):常见操作HTML 元素方式
843 0
|
测试技术 Shell API
Playwright系列(3):运行测试用例
Playwright系列(3):运行测试用例
568 1
|
测试技术 Python
Playwright系列(4):录制测试脚本
Playwright系列(4):录制测试脚本
496 0
|
Web App开发 API Python
Playwright系列(8):认识playwright 相关库
Playwright系列(8):认识playwright 相关库
565 0
Playwright系列(8):认识playwright 相关库
|
前端开发 测试技术
使用 Playwright 进行元素定位
本文介绍了Playwright在自动化测试和网页爬取中如何定位页面元素。通过CSS选择器、XPath和文本内容等方式,Playwright的`locator`对象允许灵活定位。示例代码展示了使用`query_selector()`、XPath表达式以及`with_text()`方法找到元素并获取其文本。此外,文章还提到了其他内置定位方法,如根据角色、标签文本、占位符等属性进行定位,并提供了相关使用示例。总之,Playwright提供了丰富的元素定位方法,便于高效地进行网页操作。
|
安全 API
通义千问API获取方法
访问阿里云DashScope官网以获取API-KEY。首先需开通DashScope服务:登录控制台,点击“去开通”,阅读协议后点击“立即开通”。接着获取API-KEY:进入API-KEY管理页面,点击“创建新的API-KEY”,复制并安全保存生成的API-KEY。完成这些步骤后,即可使用API-KEY调用DashScope API。更多详情见[官方文档](https://help.aliyun.com/zh/dashscope/developer-reference/acquisition-and-configuration-of-api-key)。
|
Web App开发 测试技术 API
Playwright 测试报告中显示的标签和注释。
Playwright 测试报告中显示的标签和注释。
334 57
|
数据采集 测试技术 数据安全/隐私保护
Playwright测试中避免使用no-wait-for-timeout的原因
在Web应用自动化测试中,Playwright作为首选框架,其稳定性至关重要。不当使用`no-wait-for-timeout`会导致测试结果不稳定、不符合真实用户体验且难以调试。推荐采用显式等待策略和合理设置超时时间,结合代理IP技术提高测试成功率和数据多样性。示例代码展示了如何在Playwright中配置代理IP进行数据抓取及分类统计。遵循这些最佳实践可确保测试既可靠又贴近实际用户场景。
890 4
Playwright测试中避免使用no-wait-for-timeout的原因

热门文章

最新文章