问题标签 [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.
node.js - 使用 Puppeteer 禁用生成的 PDF 中的超链接
有没有办法从 pdf 禁用自动生成的超链接。比如我有一个字符串https://example.com/
,使用 Puppeteer 从 html 转换为 pdf 后,它会自动将字符串转换为不存在的超链接。
Chromium 或 puppeteer 中是否有标志或其他东西来禁用自动链接。
c# - 如何在 PuppeteerSharp 中设置下载行为?
我想设置浏览器的下载行为以满足测试需求
我已经尝试过这个主题的解决方案:puppeteer - how to set download location
我希望,该文件将在 中下载./testing_downloads
,但它在默认路径中下载。我究竟做错了什么?
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)上运行。谢谢,
c# - 我如何使用 PuppeteerSharp 单击 Cookie 接受按钮
我现在使用 PuppeteerSharp(版本 1.20.0)通过代理访问一个网站。如果我启用全局代理设置,那么我可以使用谷歌浏览器访问该网站,但是我看不到任何 Cookie 接受按钮,或者它曾经有过,但我点击它后,它不再出现。
但是,当使用 PuppeteerSharp 时,总是会出现这样的 Cookie 接受按钮,如果我忽略它,那么几乎所有 PuppeteerSharp 选择都不再起作用。如果我使用谷歌浏览器,我可以安装 Puppeteer Recorder 来保存鼠标动作,所以我可以尝试找到点击 Cookie Accept Button 的方法,但是如果我使用 PuppeteerSharp,我无法安装 Puppeteer Recorder,因此,找到一种点击 Cookie Accept Button 的方法似乎很难,请指教。顺便说一句,下图显示了 Cookie 接受按钮。
c# - 在 Puppeter sharp 中提取 iframe 源
我正在抓取网页并尝试使用 Puppeteer Sharp 从页面中提取谷歌添加。它们中的大多数都在帧内。帧提取抛出“评估失败”异常。
.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 权限?所有库都是最新版本。我在互联网上搜索过,但找不到任何解决方案。
c# - 样式属性和值
我正在提取中每个元素的名称和值HTML
DOM
。对于样式属性,只能提取属性名称而不是值。
我的代码如下:
这是我的输出:
这是我所期待的:
c# - 如何使用 Puppeteer-Sharp 在 iframe 中填写表单
我正在尝试用 Puppeteer Sharp 抓取淘宝网站。
这是代码:
但我无法导航到具有登录表单的框架(框架没有名称,只有 src 和 id)。
我尝试使用 page.Frames 检查框架,但由于 iframe 没有名称,因此很难找到我正在寻找的正确框架。我也尝试了其他几个选项,例如:
但仍然无法获得预期的帧。请帮我解决这里的问题。