问题标签 [playwright-sharp]

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 回答
226 浏览

c# - 无法从 Playwright 的下拉选项中选择一个选项?

我正在尝试填写在线帐户创建表格。但是有一个下拉选项不是正常的选择元素。如果它对 c# 来说很简单,请帮助抱歉。

如果您看到我尝试使用 Playwright 中的选择选项功能,但无济于事。

这是网站https://www.slamjam.com/en_SG/login?action=register

0 投票
2 回答
900 浏览

c# - Playwright (.NET) 尝试使用与安装不同的浏览器版本

我使用 Playwright 和 .NET 绑定创建了一些测试。

在运行测试之前,我已经运行

在运行测试之前。上述命令的结果是浏览器安装在路径 C:\Users\username\AppData\Local\ms-playwright

在此处输入图像描述

但是,在运行测试时,会引发错误:

所以看起来剧作家想要使用其他版本的浏览器而不是安装的浏览器。如何让 Playwright 指向安装的浏览器的正确版本?

0 投票
1 回答
761 浏览

c# - 剧作家“元素未附加到 DOM”

我正在尝试使用 Playwright (.NET) 抓取网站。该网站看起来像是在 2000 年代初编写的(以怪癖模式运行),我遇到了一个我似乎无法找到解决方案的问题。

我的目标是选中一个复选框。我可以input使用选择元素

该元素已成功选择,但是在尝试运行时await input.CheckAsync(),出现错误Element is not attached to the DOM。我没有注意到会导致这种情况的元素有任何异常。为什么会发生此错误?

更新

我通过运行await page.ClickAsync("inputSelector")以选中该框使其工作。这适用于我的目的,但它不能解释为什么如果以其他方式执行它会出错,所以我仍然想知道为什么会发生该错误。

0 投票
1 回答
118 浏览

c# - 使用 xPath 选项索引选择下拉项目 - Playwright (.net)

我正在尝试使用“ClickAsync”选择一个下拉元素,因为用户模拟点击以使用 xPath 在下拉列表中选择一个项目。但不幸的是,我无法执行此操作。虽然我可以使用单击展开下拉列表,但无法选择可用选项。

0 投票
2 回答
1577 浏览

.net - 无法在 docker 映像中运行 PlayWright

我正在尝试与剧作家一起创建 .net 5.0 docker 映像。这是我的 DockerFile:

但是一旦我在我的图像命令中运行dotnet run Agent它就会给我以下错误:

即使我的 dockerfile 包含RUN npx playwright install似乎没有安装它。当我将它从我的 dockerfile 中删除并在运行图像上手动执行时,它似乎没问题。有什么想法可以使用 dockerfile 正确执行 playwright install 吗?

0 投票
1 回答
60 浏览

f# - 如何从 F# 中的 Seq.map 中获取异步值

使用以下代码 - 我正在使用 Microsoft.Playwright 来抓取网页。

第一行返回 System.Collections.Generic.IReadOnlyList

我不确定如何正确获取第二行,因为它需要在每一行上执行异步(它目前不起作用)

0 投票
0 回答
559 浏览

playwright-sharp - Playwright 等待页面完全加载和 XHR / Ajax 调用完成

我以前在 Node.js 中使用过 Puppeteer,现在在 .Net 中使用 Microsoft.Playwright

我需要等到所有 XHR / Ajax 请求都完成,以便页面处于真正的“就绪”状态。使用超时和延迟是不可靠的。

对于 Puppeteer,我使用了一个专门为这个问题设计的库 Pending XHR Puppeteer https://www.npmjs.com/package/pending-xhr-puppeteer

所以在node.js中,我会在warapper中加载页面等,然后在需要时我会调用

我假设在幕后,它会记录发送的 ajax 请求的计数,并在它们全部返回后返回函数。

注意:对于我的一种情况,设置了 2 个 XHR 请求,它们来自完全相同的 URL。

我们如何在 Playwright for .Net 中实现这一点?

0 投票
0 回答
97 浏览

c# - 剧作家 - 登录表单问题

我有一个网站,我输入用户名和密码,然后我点击recaptcha字段并输入数字没有任何问题但是当按下登录按钮时,它没有导航到下一页,我很确定我已经选择了右键。(登录按钮是一个 .

0 投票
1 回答
954 浏览

.net - 无法安装 playwright:找不到使用 Playwright 的项目。确保项目或解决方案存在于

我正在尝试在我的部署目标机器上安装 playwright 以运行 UI 测试。

但是,当使用 playwright CLI 包括 playwright install 时,我得到:

找不到使用 Playwright 的项目。确保 C:\users\myuser 中存在项目或解决方案,或使用 -p 提供另一个路径。

如何在虚拟机上安装 playwright?

编辑:

不幸的是,用于剧作家的 .NET nuget 包设计得不是很好。虽然 API 很棒,但部署却是噩梦。

不仅您无法在部署服务器上使用 CLI 安装浏览器,而且该软件包会为您的项目以及所有引用它的项目添加 3x NodeJS 运行时 (200MB)。

阻止这些文件被发布是很重要的,并且您的构建工件可以轻松地增长到每个构建的 1GB!

您无法配置 NodeJS 或剧作家本身的路径。

你可以在这里投票解决这个问题: https ://github.com/microsoft/playwright-dotnet/issues/1850

0 投票
2 回答
180 浏览

c# - SpecFlow 测试无法使用 Playwright.NET 运行

specflow使用 c# 和playwright. 代码没有问题,但在 Visual Studio 上使用测试资源管理器时测试不运行。当我运行测试时,结果总是说:

测试未运行

我安装了 nuget 包playwright并且specflow看不到任何错误。运行测试是否需要任何其他组件?我正在使用playwright.netc# 任何建议将不胜感激示例功能文件:

谢谢