问题标签 [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 投票
2 回答
1738 浏览

javascript - Playwright (Puppeteer) 上下文在启动时是一个空数组?

使用 puppeteer 时,我曾经使用以下代码行获取新标签:

这样做的主要目的是减少标签数量,我的应用运行得更轻。但是当我使用剧作家时,上下文似乎还没有包含任何页面。

我的代码正在运行,但我不断收到此错误消息:

(节点:47248)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“goto”

我是唯一一个遇到这种错误的人吗?

0 投票
2 回答
722 浏览

javascript - 编剧错误:未下载 Firefox 修订版。运行“npm install”或“yarn install”

运行此脚本后,我得到 UnhandledPromiseRejectionWarning: E​​rror: Firefox 修订版未下载。在控制台中运行“npm install”或“yarn install”。如何解决?

0 投票
2 回答
3743 浏览

javascript - Xpath 函数在 playwright 中不起作用

当我尝试使用 xpath 函数时,Playwright 没有按预期工作。

这是我为抓取https://example.org<h1>标签内的文本而编写的代码。

执行时,此代码可以完美运行并显示,

但是,如果我尝试使用text()下面的 xpath 函数获取 h1 标记内的文本,

它在投掷,

我做错了什么还是不能与 xpath 函数一起使用。

0 投票
0 回答
2189 浏览

javascript - 编剧错误:UnhandledPromiseRejectionWarning:TimeoutError:等待firstPage代理失败:超时30000ms

我试图运行这个片段。它按预期从 Chromium 和 Firefox 中截取屏幕截图。但是当它尝试从 webkit 截取屏幕截图时会引发超时错误。虽然,local-webkit 是与 playwright 一起安装的。

0 投票
4 回答
782 浏览

javascript - Javascript 循环、异步函数和无头浏览器

通过与微软新的无头浏览器剧作家一起玩,我构建了既不返回错误也不返回其他东西的东西。

此时,我的想法已经结束,我请你给我一些提示,以指出我的失败。

这段代码应该只是启动多个无头浏览器组异步。但是浏览器的启动挂起,应用程序处于无限循环中。我在这里粘贴代码,它是一个简单的 nodejs 脚本,用于重现行为。

感谢您的帮助和阅读;)

输出:

0 投票
0 回答
499 浏览

javascript - 错误:导航到 http://localhost:8080/ 被另一个取消

我正在使用adal-angular我的应用程序,一旦它导航到本地主机,它就会重定向到另一个网站进行登录。我收到了(node:38052) UnhandledPromiseRejectionWarning: Error: Navigation to http://localhost:8080/ was canceled by another one

此流程是常规的 AD 单点登录行为,我需要等待重定向结束,然后插入用户和密码以获取令牌并调用我的 API。

我尝试使用goto无济于事:

这是一个傀儡师的例子

最后,您将获得包含以下内容的图像:

Azure AD 登录

0 投票
1 回答
1859 浏览

angular - 配置 Angular 以使用 playwright

我要先说我不太了解puppeteer,但似乎剧作家被创造为它的继任者,所以我想我直接跳到使用它。

使用本指南,我尝试配置 Karma 和 Protractor,就像我puppeteer只替换 playwright我被告知放置的地方一样puppeteer

这条线

但是不起作用,因为它本身playwright没有exectablePath()功能

相反,我尝试了

这似乎会做我想要的。但是我仍然收到以下错误消息。尝试跑步时ng test --watch=false

任何人都有关于如何设置 Angular 的更好资源playwright

0 投票
2 回答
167 浏览

javascript - 使用 Selenium 但不使用 AutoIt 自动上传图像

我公司的网站上有一个非传统的图片上传按钮。我想要一种使用此按钮上传图像的自动方式,但不必使用 AutoIt 之类的工具来与文件资源管理器进行交互。

这是此按钮的 HTML 示例:

input它与通常的元素有点不同,例如<input type="file">,它使用 AngularJS。由于它不是input元素,我认为我不能使用 Selenium 的sendKeys()功能在我的机器上输入图像的文件位置。

上传图片有什么技巧或解决方法吗?我正在考虑诸如覆盖onClick()从指定位置读取的函数(这种方法似乎并不可行),或者可能拦截打开文件资源管理器的事件并试图从那里破解我的方式,但这些是所有只是解决问题的不受支持和未经测试的方法。

是否有可能在另一个浏览器自动化工具中做到这一点,比如微软的 Playwright?

0 投票
0 回答
1191 浏览

javascript - 在 CI 环境中使用 Playwright 登录 Google

我有一个剧作家/摩卡脚本,可以让我登录谷歌。此代码在我的本地计算机上运行时有效,但gitlab-ci.

e2e.spec.js

headless-spoof.js

尽管有这些预防措施,我仍然在我的 CI 工作的工件中看到了这个结果:

我可以在我的测试脚本或相关的 Google 帐户中做些什么来克服这个障碍吗?

0 投票
4 回答
3877 浏览

node.js - How to catch a download with playwright?

I'm trying to download a file from a website using Playwright. The button that triggers the download does some js and then the download starts.

Clicking the button using the .click function triggers a download but it shows an error: Failed - Download error.

enter image description here

I've tried using the devtools protocol Page.setDownloadBehavior, but this doesn't seem to do anything.

Full file here

There is a proposal for a better download api in Playwright, but I can't find the current API. There was a suggestion that something to do with the downloadWillBegin event would be useful, but I've no idea how to access that from Playwright.

I'm open to the suggestion that I should use Puppeteer instead, but I moved to playwright because I couldn't work out how to download a file with Pupeteer either, and the issue related to it suggested that the whole team had moved to Playwright.