问题标签 [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 回答
916 浏览

python - 如何使用 Playwright Python 异步打开多个页面?

我想使用 Playwright for Python 一次打开多个 url。但我正在努力弄清楚如何。这是来自异步文档:

这将依次打开每个 browser_type。如果我想并行执行,我将如何处理?如果我想对 url 列表做类似的事情,我会怎么做?

我试过这样做:

但这给了我以下错误:

0 投票
2 回答
4834 浏览

node.js - 剧作家得到饼干

我需要从一个页面获取 JSSESSIONID cookie 并将其传递给另一个页面。但是当我尝试与剧作家一起获取 cookie 时,我得到了一个空数组。有任何想法吗?

0 投票
0 回答
471 浏览

playwright - playwright-python - `handleSIGTERM=False` 导致 UnhandledPromiseRejectionWarning 并关闭浏览器

我收到 UnhandledPromiseRejectionWarning 错误,并且在尝试模拟不应关闭浏览器的测试失败时关闭浏览器。

文档说我应该将handleSIGTERM设置为 False 并且它不应该在运行结束时关闭浏览器,对吧?所以我做到了(见代码示例)。

handleSIGTERM : Optional[bool] 在 SIGTERM 上关闭浏览器进程。默认为真。

代码示例:

意外的行为是浏览器关闭并且节点显示以下输出:

你知道我做错了什么吗?

0 投票
2 回答
3997 浏览

node.js - 剧作家拖放

尝试测试一些拖放功能,看起来 playwright 没有拖放功能,所以我正在使用mouse.move(), mouse.down()& mouse.up()

然而,我的尝试似乎失败了,目标没有被移动。下面的代码:

0 投票
4 回答
17203 浏览

javascript - 如何在 Playwright.js 中检查页面上是否存在元素

我正在使用 playwright.js 为https://target.com编写脚本,并且在您提交运输信息的页面上,如果您之前已经完成了结帐流程,它将提供使用保存地址的选项目标账户。

我想每次运行脚本时都输入新的运输信息,所以我必须让编剧点击删除,如果它存在于页面上,然后输入运输信息。

下面显示的函数可以单击删除,但随后超时if (await page.$$("text='Delete'") != [])而不是执行else该函数的一部分。

我如何重写此函数,以便它只检查元素(选择器:)是否text='Delete'存在,如果存在则单击它,如果不存在则执行函数的填充部分?

0 投票
3 回答
1985 浏览

python - 使用 Playwright for Python,如何读取输入框的内容

在我正在自动化的网站中,我有一个禁用的输入框。

在网站上,它显示一个数字,例如“1”,并具有其他元素来更改值。

当我查询元素时

我得到了句柄的结果。

当我尝试读取句柄内容时

都是空的 ('')

如何访问当前输入值?

0 投票
1 回答
319 浏览

react-native - 有没有办法使用 expo web 访问测试 ID?

我正在尝试使用 Playwright 对 Expo Web 项目进行端到端测试。我希望当我将 testId 属性添加到 React Native 视图时,它会被转换为 data-testid 以便我可以为我的测试选择元素。

但是,它没有这样做,所以我想不出一个选择元素的好方法。到目前为止,我能想到的最好的方法是为元素添加一个可访问性标签。

有谁知道将测试 ID 添加到将在网络上测试的 react-native expo 项目的更好方法?

0 投票
1 回答
431 浏览

azure-devops - 如何在 Azure 函数中运行 python playwright

当我通过普通的 Python 解释器运行 Playwright 时,它在我的机器上运行,但是当我尝试将它部署为 Azure 函数时,我得到了错误。

我正在尝试按照此处的说明进行操作,但我"webkit" browser was not found. Please complete Playwright installation via running "python -m playwright install"认为这是一个错误,如果您使用的是 npm,则不会发生该错误。

我尝试创建一个包含以下步骤的 azure devops Pipeline:

我也试过从我的代码中做到这一点:

我可以看到PLAYWRIGHT_BROWSERS_PATH环境变量设置为0.

如何让它在 Azure 函数上运行?

0 投票
2 回答
510 浏览

python - 在 Heroku 上部署 playwright-python

我正在使用一个 python 模块,该模块在我的 heroku 烧瓶应用程序中使用 playwright。该模块的安装说明要求我安装浏览器二进制文件,例如:

虽然当我在本地部署它时它可以工作,但我似乎无法将浏览器二进制安装合并到部署中。我尝试改用heroku playwright buildpack(https://github.com/mxschmitt/heroku-playwright-buildpack),但这似乎不起作用,并且出现如下错误:

我还尝试在 buildpack 中手动添加python -m playwright install命令,但这也不起作用。有没有办法在heroku中使用playwright正确安装二进制文件?

0 投票
1 回答
306 浏览

playwright - 如何检查是否打开了新的浏览器选项卡?

在 Web 应用程序(在 React 中实现)中,当我按下特定按钮时,会打开一个新的浏览器选项卡。我想检查是否发生了这种情况以及新标签的 URL 是否正确。