问题标签 [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.
javascript - 在剧作家的第一个浏览器实例之后保持登录会话
我正在与剧作家一起运行多个铬实例。
在每个实例上,我都使用相同的凭据登录。
当我已经使用相同的凭据登录到第一个浏览器实例时,有没有办法自动登录到其他浏览器实例?
javascript - 如果某些状态代码,导航后剧作家重新加载页面
我的情况是,我需要我的功能浏览器测试来检查所有页面响应的返回状态代码,如果我收到 503,请尝试在失败前重新加载页面 X 次。
我曾尝试使用 Playwright 网络事件,但似乎更改页面状态(即触发重新加载)会破坏任何未来的交互,并且最终会出现Execution context was destroyed, most likely because of a navigation.
错误。
例如:
(为了简单起见,我省略了重试逻辑)
执行此代码后,任何与页面交互的尝试都将导致Execution context was destroyed
错误。
我不是 100% 确定这是解决这个问题的正确方法。有任何想法吗?
typescript - 剧作家 - 拖放与偏移
我们有一个使用 Playwright webdriver 的 CodeceptJS 自动化框架,并且正在测试的应用程序在 Typescript 中。有没有办法将元素拖放到页面上的特定位置?我希望能够水平或垂直拖放某个像素。当前的 dragAnddrop() Playwright 方法将可拖动元素带回其原始位置,因为我无法将其拖到足够长的时间以将其放置在占位符中。类似于 selenium 的东西 dragdrop(dragFrom, dragTo, offsetX);
谢谢
javascript - 在 Azure Function 中运行 Playwright
我正在尝试运行一个简单的 Azure 函数,该函数将根据浏览器中的可见内容进入页面并生成 PDF。
我使用 Linux 消费计划 (B1) 创建了一个 NodeJS 12 Azure 函数。我设置PLAYWRIGHT_BROWSERS_PATH
为0
.
函数代码如下所示:
包.json
和function.json
当我检查应用洞察力时,我可能会发现以下错误:
而我不忽略 node_modules 我得到了这个:
最后:
我还认为只有在使用 Linux 消费计划(动态)时,剧作家/木偶师可能在 Azure Functions(不使用 docker deploy 时)上正常工作?
javascript - 我可以为剧作家浏览器设置日期吗
当我编写测试以在 playwright 中运行时,我希望能够设置浏览器认为它在测试开始时的日期。有没有办法使用剧作家来实现这一目标?
javascript - 如何在一个li中获取多个值
我正在与 Playwright 合作抓取一个目录。我能够像这样获得每个“块”内容:
我想不通的是如何在每个“块”中获取定义的嵌套元素。
例如:
li > .title
, li > .subhead
,li > #url
我将如何为每个块捕获这些元素?现在我得到的只是一大串文本,其中包含每个文本中的所有文本li
xpath - Playwright + CodeceptJS - 无法通过 Xpath 找到元素
在我的代码中,我通常可以通过 Xpath 找到一个元素并执行如下所示的操作
我在执行以下操作时看到以下错误。由于ID 是动态创建的。是否有推荐的方法来处理此类元素?
错误:
相关的 HTML:
这里的问题实际上是动态生成的 ID“crmUiId_1”。相反,我尝试使用 ng-model="caseType.title" 的 xpath,但它似乎也不起作用。
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 进行部署。
知道如何处理这种情况吗?