问题标签 [playwright]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
767 浏览

javascript - 我可以使用 await page.click(element) 使用剧作家点击该元素的一个非常特定的部分吗

我使用以下行来单击使用 playwright 的元素

有问题的元素是“测试”一词。单击时,插入符号的位置出现在测试中的“e”和“s”之间——换句话说,就在元素的中心。

我怎样才能让它在这个元素的开头点击 - 就在字母“T”之前?

0 投票
1 回答
340 浏览

node.js - 不能要求剧作家

尝试运行以下代码段

但得到以下错误:

指向我的 require 语句,我已经运行 npm i -D @playwright/test @playwright/test-runner 并存在模块。为什么会失败?试图用节点'filename.js'运行它

0 投票
3 回答
5714 浏览

javascript - 在剧作家测试中切换标签

我正在尝试使用剧作家测试在选项卡之间切换,但它没有控制 windows 元素。我们有没有类似于剧作家中的 selenium driver.switchto().window() 的方法?

0 投票
2 回答
3045 浏览

javascript - 如何在 Puppeteer 中双击

我有一个工作区,可以在其中添加不同的对象。有一种场景,双击后,可以在工作区中自动添加一个对象。我经历了不同的解决方案,但没有一个真正奏效。

这是我尝试过的:

0 投票
3 回答
499 浏览

javascript - Jest and Playwright:访问 youtube.com 并搜索视频

对于我的工作,我被指派为我们开发的 web 应用程序进行自动化测试。我必须用 Playwright 和 jest 编写自动化脚本。为了练习使用 Playwright,我决定制作一个脚本,在 YouTube 的搜索栏中查找“Israel Adesanya”。我的 JavaScript 有点缺乏经验,但为了解决这个问题,我使用yarn add playwrightyarn add jest 目录结构,如下所示:

我的package.json

在我的__tests__目录中,我有一个标题playwright_test.js为以下代码的文件:

当我这样做时yarn test,此代码只会将我带到 YouTube 页面,但在返回此错误之前什么也不做: 错误说明

我想知道我要做什么才能正确搜索 YouTube 上的视频。作为奖励,在 YouTube 上搜索“Israel Adesanya”后,如何让脚本点击 YouTube 上的第一个视频?

0 投票
0 回答
943 浏览

javascript - 具有 Jest 和 Playwright 类型的页面对象模型不起作用

我正在尝试使用 Jest 和 Playwrigt 构建基于 POM 的框架。附上linkedin的示例代码,而发送键的行为是有线的,它将在电子邮件字段中输入邮件文本中的几个字符,并在密码字段中输入剩余的电子邮件字符和密码字符。即使我尝试过slowMo arg。下面是代码片段。

在 LinkedInPage.class 中,我试图为电子邮件(例如:)test123@gmail.com和密码(例如:)设置值test123。该脚本在电子邮件字段中输入几个字符(例如test:),在密码字段中输入剩余字符(例如:)@gmail.com123。我无法弄清楚为什么会这样。

0 投票
2 回答
668 浏览

adfs - 使用 Playwright 防止 SSO

尝试为使用联合身份验证和 ADFS 的网站编写自动化测试。

在我的 Ci/CD 管道中,我不会在经过身份验证的 Windows 上下文中运行,因此我的 Playwright 测试将遇到 ADFS 凭据提示,但是在开发测试时,我们正在经过身份验证的上下文中工作,并且 Windows 直通身份验证将启动(NTLM是我的猜测)。

我怎样才能防止这种情况?

在我之前使用 NightwatchJS 编写的一组测试中,我使用的技巧是发送一个未在 ADFS 中注册为支持 NTLM 质询流的浏览器的自定义 UserAgent 字符串。(顺便说一句,它是 Opera Mini)

对于 Playwright,同样的把戏显然不起作用,我希望那里有更好的东西。

我尝试了什么:

0 投票
1 回答
1243 浏览

playwright - 在 Python 的 Playwright 中,如何使用 QuerySelector 匹配标签内的部分文本?

我正在尝试使用部分文本匹配具有多个 h1 标签的页面上的 H1 标签。

对于此示例,文本是“您的预订是”

我可以像这样定位全文

我还可以获得所有 h1 标签的列表,然后检查所有的 innerHTML

但是这样一来,我就等不及手柄出现了。

我如何编写一个选择器,以便我可以匹配部分标签以便我可以使用page.WaitForSelector()它?

0 投票
1 回答
3102 浏览

python - 使用 Playwright for Python,如何等待字段/选择器结果更改

使用 Playwright for Python,我想等待内容的变化。

我可以像这样获取选择器的内容

在此示例中,我正在读取 datepicker 元素的月份值并希望选择下个月。然后等待,直到月份改变。

要更改月份,我可以单击下个月图标

我现在想等到点击被接受。

一个hacky的方法是等待是反复抓取值直到它改变

在现实世界中,我还需要检查超时。

有一个更好的方法吗?

0 投票
1 回答
1666 浏览

javascript - Playwright - TypeError:hoverElement.hover 不是函数

我正在尝试运行它

这样鼠标将悬停在有问题的元素上

我收到一条错误提示 TypeError: hoverElement.hover is not a function

我正在阅读剧作家 API 文档https://playwright.dev/#version=v1.5.2&path=docs%2Fapi.md&q=elementhandlehoveroptions

我究竟做错了什么?

});