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


相关文章
|
1月前
|
Web App开发 API Python
Playwright系列(8):认识playwright 相关库
Playwright系列(8):认识playwright 相关库
Playwright系列(8):认识playwright 相关库
|
16天前
|
Web App开发 JavaScript 前端开发
深入理解Playwright的高级功能和用法
Playwright是一个强大而灵活的Python库,用于自动化浏览器操作和测试。它提供了一套简洁、直观的API,使得编写可靠、可扩展的浏览器自动化脚本变得非常容易。无论是模拟用户交互、抓取网页数据还是进行端到端的Web应用程序测试,Playwright都是一个值得信赖的选择。 Playwright支持多种浏览器,包括Chrome、Firefox和WebKit(Safari)。这意味着您可以根据需要选择合适的浏览器来运行自动化脚本。Playwright还提供了跨浏览器的一致性保证,这意味着您可以在不同的浏览器上运行相同的脚本,并获得相似的结果。
|
3天前
|
Web App开发 移动开发 前端开发
CSS3 三大特性+Chrome 调试代码技巧
CSS3 三大特性+Chrome 调试代码技巧
|
1月前
|
前端开发 测试技术
使用 Playwright 进行元素定位
本文介绍了Playwright在自动化测试和网页爬取中如何定位页面元素。通过CSS选择器、XPath和文本内容等方式,Playwright的`locator`对象允许灵活定位。示例代码展示了使用`query_selector()`、XPath表达式以及`with_text()`方法找到元素并获取其文本。此外,文章还提到了其他内置定位方法,如根据角色、标签文本、占位符等属性进行定位,并提供了相关使用示例。总之,Playwright提供了丰富的元素定位方法,便于高效地进行网页操作。
39 4
|
1月前
|
测试技术 API Python
深入探索:使用 Playwright 处理下拉框的完整指南
本文介绍了如何使用Python和Playwright处理Web应用中的下拉框。Playwright提供了一个简单的`select_option()`方法来选择单选或多选选项,例如:`page.get_by_label(&#39;Choose a color&#39;).select_option(&#39;blue&#39;)`。此外,还展示了如何处理动态加载的下拉框,通过`wait_for_selector()`确保选项加载完成后再进行选择。使用Playwright能有效简化自动化测试中的下拉框交互。
34 0
|
1月前
|
Web App开发 JavaScript 前端开发
深入探索 Playwright:高级功能和用法
【2月更文挑战第6天】
140 1
|
1月前
|
前端开发 测试技术 开发者
精通Playwright的元素定位和CSS技巧
精通Playwright的元素定位和CSS技巧
193 0
|
1月前
|
测试技术 Shell 开发工具
Playwright 系列(13):如何调试测试用例
Playwright 系列(13):如何调试测试用例
179 0
Playwright 系列(13):如何调试测试用例
|
1月前
Playwright系列(9):如何写断言
Playwright系列(9):如何写断言
309 0
|
1月前
|
测试技术
Playwright 系列(14):如何写对话框的用例
Playwright 系列(14):如何写对话框的用例