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

node.js - 使用 Puppeteer 禁用生成的 PDF 中的超链接

有没有办法从 pdf 禁用自动生成的超链接。比如我有一个字符串https://example.com/,使用 Puppeteer 从 html 转换为 pdf 后,它会自动将字符串转换为不存在的超链接。

Chromium 或 puppeteer 中是否有标志或其他东西来禁用自动链接。

0 投票
1 回答
1714 浏览

c# - 如何在 PuppeteerSharp 中设置下载行为?

我想设置浏览器的下载行为以满足测试需求

我已经尝试过这个主题的解决方案:puppeteer - how to set download location

我希望,该文件将在 中下载./testing_downloads,但它在默认路径中下载。我究竟做错了什么?

0 投票
1 回答
2928 浏览

c# - 如何在不使用系统全局代理设置的情况下在 PuppeteerSharp 中使用代理

由于一些限制,我必须使用代理来访问一个特定的网站。为此,我订阅了一项付费代理服务,并尝试访问该网站,它成功了。但是,要使用 Google Chrome 的代理服务,我必须从 Windows Edge 浏览器配置代理设置,因此代理设置会影响我 PC 中的所有网络浏览器,这是我不想要的;因为,除了那个特定的网站,我可以直接使用我的 ISP 访问所有其他网站,没有任何问题。我尝试了以下 C# 代码,看看我是否只能在底层 Chromium 会话期间使用代理设置访问“WhatIsMyIP”网站。

但是,我的代码不起作用,我收到错误消息:PuppeteerSharp.NavigationException HResult=0x80131500 Message=net::ERR_NO_SUPPORTED_PROXIES at https://www.whatismyip.com/ at https://www.whatismyip.com/ Source=PuppeteerSharp StackTrace:在 PuppeteerSharp.FrameManager.d__42.MoveNext() 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task任务)在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 在 ProxyWhatIsMyIP.Program.d__3.MoveNext() 在 C:\DualDataLiveBet\BetFairProxy\ProxyWhatIsMyIP\ProxyWhatIsMyIP\Program.cs:line 31

内部异常 1:NavigationException: net::ERR_NO_SUPPORTED_PROXIES 在https://www.whatismyip.com/

但是,如果我在 Microsoft Edge 浏览器中更改了全局代理设置,并在我的 C# 代码中删除了代理设置,它就可以工作了。以下是工作代码:

但这不是我想要的。我只想在这个 Chromium 会话期间使用代理,但保持全局代理设置不变(不要在我的 PC 中使用任何代理。)请告知我该怎么做?顺便说一句,我正在使用 Visual Studio 2019 版本 16.3.2 和 PuppeteerSharp 1.20.0,目标是 .NET Core 3.0。我的电脑在应用了最新更新的 Windows 10(版本 1903)上运行。谢谢,

0 投票
1 回答
731 浏览

c# - 我如何使用 PuppeteerSharp 单击 Cookie 接受按钮

我现在使用 PuppeteerSharp(版本 1.20.0)通过代理访问一个网站。如果我启用全局代理设置,那么我可以使用谷歌浏览器访问该网站,但是我看不到任何 Cookie 接受按钮,或者它曾经有过,但我点击它后,它不再出现。

但是,当使用 PuppeteerSharp 时,总是会出现这样的 Cookie 接受按钮,如果我忽略它,那么几乎所有 PuppeteerSharp 选择都不再起作用。如果我使用谷歌浏览器,我可以安装 Puppeteer Recorder 来保存鼠标动作,所以我可以尝试找到点击 Cookie Accept Button 的方法,但是如果我使用 PuppeteerSharp,我无法安装 Puppeteer Recorder,因此,找到一种点击 Cookie Accept Button 的方法似乎很难,请指教。顺便说一句,下图显示了 Cookie 接受按钮。 在此处输入图像描述

0 投票
0 回答
220 浏览

c# - 滑动以验证 puppteer-sharp 失败

我一直在与滑动滑块的这个问题作斗争。当我滑动幻灯片时,一切正常,我收到错误,如图所示。下面是我尝试的代码。

在此处输入图像描述

0 投票
1 回答
1589 浏览

c# - PuppeteerSharp Chromium 实例数

我们使用 PuppeteerSharp 添加用户下载我们应用程序的 PDF 的功能。不幸的是,有时会启动大量 Chromium 进程,并且在服务器重新启动之前不会停止。

通常,当用户下载 pdf 时,会启动 5 个 Chromium 进程,下载完成后这些进程会消失。

这是我们的代码:

浏览器和页面位于 using 块中,因此即使出现错误,也应将其处理掉。

有没有人有这个问题的解决方案?我们和我们的服务器会非常高兴;)

在此处输入图像描述

0 投票
1 回答
390 浏览

c# - 在 Puppeter sharp 中提取 iframe 源

我正在抓取网页并尝试使用 Puppeteer Sharp 从页面中提取谷歌添加。它们中的大多数都在帧内。帧提取抛出“评估失败”异常。

横幅和 iframe 内容的示例图像

0 投票
1 回答
852 浏览

.net - 如何在服务器 ubuntu 18.04.3 LTS 上启动 PuppeteerSharp?System.ComponentModel.Win32Exception (13):权限被拒绝

该程序在 Windows 上运行良好。我在 Windows 上以 .Net Core 模式发布了它。但是我在 Ubuntu 上得到了这个错误:

Unhandled exception. System.ComponentModel.Win32Exception (13): Permission denied at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec) at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at PuppeteerSharp.ChromiumProcess.State.StartingState.StartCoreAsync(ChromiumProcess p) at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) at WebScraping.Authorization.GetCookieByAuthorizationAsync(String[] args, String pathToCookieFile) in C:\Users\Serega\Desktop\dz4all\Homework\WebScraping\Authorization.cs:line 22 at WebScraping.Program.Main(String[] args) in C:\Users\Serega\Desktop\dz4all\Homework\WebScraping\Program.cs:line 41 at WebScraping.Program.<Main>(String[] args)

我可以假设 Visual Studio 已经发布了仅适用于 Windows 系统的项目。我的 Ubuntu 只是终端。我在 PuppeteerSharp 的启动设置中设置了“--no-sandbox”和无头模式,并在 ubuntu 上以 root 用户运行程序。因此,dotnet 是否具有所有 root 权限?所有库都是最新版本。我在互联网上搜索过,但找不到任何解决方案。

0 投票
1 回答
456 浏览

c# - 样式属性和值

我正在提取中每个元素的名称和值HTML DOM。对于样式属性,只能提取属性名称而不是值。

我的代码如下:

这是我的输出:

这是我所期待的:

0 投票
1 回答
1167 浏览

c# - 如何使用 Puppeteer-Sharp 在 iframe 中填写表单

我正在尝试用 Puppeteer Sharp 抓取淘宝网站。

这是代码:

但我无法导航到具有登录表单的框架(框架没有名称,只有 src 和 id)。

我尝试使用 page.Frames 检查框架,但由于 iframe 没有名称,因此很难找到我正在寻找的正确框架。我也尝试了其他几个选项,例如:

但仍然无法获得预期的帧。请帮我解决这里的问题。