问题标签 [puppeteer-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 投票
0 回答
152 浏览

css - 在 PDF 查看器中使用 PhantomJS 和 Puppeteer Sharp 在缩放级别 > 100% 时生成的 PDF 中表格边框的差异

我在使用 PhantomJS 将生成 PDF 的函数转换为使用 Puppeteer Sharp 时遇到问题。

Puppeteer Sharp 的输出应尽可能与使用 PhantomJS 时的输出相似。

拥有这两个 PDF,它们在 100% 缩放级别下看起来很相似。

当缩放到 125 %(使用 PDFescape)时,表格边框看起来不再相同。所有边界都定义为border-bottom: 0.1pt solid #323e48;

关于如何避免在缩放级别 > 100 时发生此问题的任何想法?

原版 (PhantomJS) 100% / 125%

原版 100% 原产地 125%

新(Puppeteer Sharp)100% / 125%

全新 100% 新品 125%

0 投票
1 回答
976 浏览

c# - 当程序在 Puppeteer Sharp 中完成时如何阻止浏览器关闭

我们正在为我们的客户提供密码管理解决方案。我们能够使用以下代码使用 puppeter sharp 成功地自动化用户名和密码。

但是程序执行后浏览器会自动关闭。无论如何在程序执行后让浏览器运行。

0 投票
1 回答
235 浏览

puppeteer-sharp - 我无法单击 Power BI 中的任何按钮

描述:

下午好社区,你能帮我知道如何单击 Power BI 界面中的按钮吗?我正在尝试这个,但它对我不起作用

网址电源双

Power Bi 按钮图片

Power Bi 按钮的图像

示例代码 Html

0 投票
0 回答
311 浏览

c# - 等待菜单动画(展开 div)

使用 PuppeteerSharp,如何等待元素完成扩展?

与其他问题非常相似,我有一个单击时会滑动打开的菜单。我正在尝试单击扩展 div 内的链接。

我尝试等待Visible = true但我认为它可能在停止扩展之前变得可见。(它没有单击#bar。)

这个解决方案对 JS 中的 Puppeteer 很有意义。但是 ElementHandle 没有类似的东西addEventListener,而且我找不到任何支持的事件TransitionEnd

所以我尝试从 C# 中实现该 JavaScript,但它从未完成......

也许我对事件侦听器做错了什么......

不幸的是,我没有任何好的例子来重现它。

我可能最终会选择Task.Delay(1000). 只是在寻找正确的方法。

0 投票
1 回答
331 浏览

puppeteer-sharp - EvaluateExpressionAsync<> 超时?

我正在使用 Puppeteer sharp 来呈现报告,其中一部分是执行用户提供的 javascript 来为报告准备数据。

我使用 AddScriptTagAsync 将脚本添加到页面,然后在呈现报告之前调用用户提供的脚本。

如果用户提供的 javascript 存在导致无限循环的问题(例如),那么我的调用EvaluateExpressionAsync可能会永远等待:

await page.EvaluateExpressionAsync<dynamic>($"Prepare({DataObject});")

我无法将取消令牌传递给,EvaluateExpressionAsync因此我无法控制它,并且此方法似乎没有可用的超时。

我想将它限制在可控的秒数内,然后让它超时。

任何有关如何做到这一点的建议将不胜感激。

0 投票
0 回答
261 浏览

c# - puppeteer 在启动后设置窗口位置

我想在启动 puppeteer 浏览器后动态重新定位窗口。
但我在任何地方都找不到路。
我怎样才能在 puppeteer 中做到这一点?

在硒中,是这样的:

0 投票
0 回答
378 浏览

c# - 检查页面是否完全加载 - Puppeteer C#

我使用此代码等待页面加载完成:

它会等待并像魅力一样工作,但我需要删除WaitUntilNavigation.Networkidle0而不是等待完成。但是我需要在其他地方检查页面是否已完全加载或仍处于加载状态。如何做到这一点?

0 投票
1 回答
230 浏览

c# - 使用 PuppeteerSharp 访问 windows.localStorage

有没有人提供如何使用 PuppeteerSharp 访问 windows.localStorage 的示例?
有很多关于如何使用 (JS)Puppeteer 的示例,但我在 C# 中遇到了问题。

据我所知,我需要使用EvaluateFunctionAsync,并执行以下操作:
var localStorage = await page.EvaluateFunctionAsync("async () => await window.localStorage");
但这只是返回一个空的 JToken。
谁能帮我吗?

0 投票
1 回答
421 浏览

c# - 在 puppeteer 中实现滚动到底部

我很挣扎,希望有人能指出我正确的方向。我在 .net 桌面项目中使用 puppeteer sharp。

我想让页面加载到 puppeteer 以滚动到底部以处理一些延迟加载,我发现了几篇文章,例如Puppeteer - 向下滚动,直到你不能再包含大量有用的信息,但是对于 Javascript -我无法弄清楚如何在 Puppeteer sharp 中实现这一点。

例如,我想尝试以某种方式在 puppeteer sharp 下运行它(正如我在上面提到的文章中看到的那样,它会滚动到底部):-

puppeteer sharp 的文档似乎没有涵盖上述内容。

赛尔

0 投票
1 回答
693 浏览

c# - 如何从 Puppeteer chrome session C# 获取 cookie?

我需要从 puppeteer chrome 会话中获取特定网站的 cookie 并将这些 cookie 添加到脚本中。这是我正在执行的获取 cookie 表单页面的代码:

但它返回:

Id = 7315,状态 = WaitingForActivation,方法 =“{null}”,结果 =“{尚未计算}”

我尝试过的其他方式:

这两种方法都不适合我。我做错了什么?