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

javascript - 在剧作家的第一个浏览器实例之后保持登录会话

我正在与剧作家一起运行多个铬实例。

在每个实例上,我都使用相同的凭据登录。

当我已经使用相同的凭据登录到第一个浏览器实例时,有没有办法自动登录到其他浏览器实例?

0 投票
1 回答
4648 浏览

javascript - 如果某些状态代码,导航后剧作家重新加载页面

我的情况是,我需要我的功能浏览器测试来检查所有页面响应的返回状态代码,如果我收到 503,请尝试在失败前重新加载页面 X 次。

我曾尝试使用 Playwright 网络事件,但似乎更改页面状态(即触发重新加载)会破坏任何未来的交互,并且最终会出现Execution context was destroyed, most likely because of a navigation.错误。

例如:

(为了简单起见,我省略了重试逻辑)

执行此代码后,任何与页面交互的尝试都将导致Execution context was destroyed错误。

我不是 100% 确定这是解决这个问题的正确方法。有任何想法吗?

0 投票
0 回答
2111 浏览

webkit - Playwright webkit 无法在 Windows 10 上运行

我正在尝试编写一个简单的 e2e 测试。

此代码适用于铬和火狐。但是,当我使用 webkit 时,它会在第二个屏幕上中断。Webkit 错误日志:

我在 Windows 10 上。

0 投票
1 回答
837 浏览

typescript - 剧作家 - 拖放与偏移

我们有一个使用 Playwright webdriver 的 CodeceptJS 自动化框架,并且正在测试的应用程序在 Typescript 中。有没有办法将元素拖放到页面上的特定位置?我希望能够水平或垂直拖放某个像素。当前的 dragAnddrop() Playwright 方法将可拖动元素带回其原始位置,因为我无法将其拖到足够长的时间以将其放置在占位符中。类似于 selenium 的东西 dragdrop(dragFrom, dragTo, offsetX);

谢谢

0 投票
1 回答
2566 浏览

javascript - 在 Azure Function 中运行 Playwright

我正在尝试运行一个简单的 Azure 函数,该函数将根据浏览器中的可见内容进入页面并生成 PDF。

我使用 Linux 消费计划 (B1) 创建了一个 NodeJS 12 Azure 函数。我设置PLAYWRIGHT_BROWSERS_PATH0.

函数代码如下所示:

包.json

和function.json

当我检查应用洞察力时,我可能会发现以下错误:

而我不忽略 node_modules 我得到了这个:

最后:

我还认为只有在使用 Linux 消费计划(动态)时,剧作家/木偶师可能在 Azure Functions(不使用 docker deploy 时)上正常工作?

0 投票
2 回答
1338 浏览

javascript - 我可以为剧作家浏览器设置日期吗

当我编写测试以在 playwright 中运行时,我希望能够设置浏览器认为它在测试开始时的日期。有没有办法使用剧作家来实现这一目标?

0 投票
1 回答
100 浏览

javascript - 如何在一个li中获取多个值

我正在与 Playwright 合作抓取一个目录。我能够像这样获得每个“块”内容:

我想不通的是如何在每个“块”中获取定义的嵌套元素。

例如: li > .title, li > .subhead,li > #url

我将如何为每个块捕获这些元素?现在我得到的只是一大串文本,其中包含每个文本中的所有文本li

0 投票
2 回答
2455 浏览

python - 如何使用 playwright-python 处理多个页面?

如何使用playwright-python收听新页面?

在 JavaScript 中,它将被记录为:

变成 Python

0 投票
1 回答
881 浏览

xpath - Playwright + CodeceptJS - 无法通过 Xpath 找到元素

在我的代码中,我通常可以通过 Xpath 找到一个元素并执行如下所示的操作

我在执行以下操作时看到以下错误。由于ID 是动态创建的。是否有推荐的方法来处理此类元素?

错误:

相关的 HTML:

这里的问题实际上是动态生成的 ID“crmUiId_1”。相反,我尝试使用 ng-model="caseType.title" 的 xpath,但它似乎也不起作用。

0 投票
1 回答
447 浏览

c# - 使用 Microsoft Playwright 在 Azure Function Linux 消费计划中创建本地 PDF 文件

我正在使用 Microsoft Playwright从 Azure 函数(HTTP 触发器)内的远程网站创建 PDF。使用的方法是 page.GetPdfAsync(),它只处理文件路径以创建生成的 PDF 文件。我想将文件存储在 Azure Blob 存储容器中,但由于 GetPdfAsync() 方法不处理流或 Azure blob 存储,我正在尝试临时存储生成的文件。我尝试使用不同的本地文件夹,例如/tmp/local但每次触发该函数时,我都会在跟踪中看到一个异常,指出文件系统是只读的

我阅读了Anthony Chu的这篇博文,所以似乎 Linux 消费计划现在支持 Playwright,但在文章中,生成的屏幕截图直接在 HTTP 响应中发回,并且从未存储在本地磁盘上。

对于编码环境,我使用 C#、VS 2019 和 Azure Function Core Tools + Azure CLI 进行部署。

知道如何处理这种情况吗?