0

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

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

4

1 回答 1

0

我认为您会发现将代码从 puppeteer 记录器转换为 Puppeteer-Sharp 很容易。至少你可以从那里得到选择器。

一旦你有了这些选择器,你可以做 3 件事:

一种选择是设置一个目录,浏览器可以使用UserDataDir属性在其中存储 cookie 。您可以打开 BrowserFetcher 下载的浏览器并单击该按钮。

更好的解决方案是使用 EvaluateFunctionAsync 执行脚本以检查您是否有 cookie 按钮并单击它(使用从记录器获得的选择器)。您的代码将更加灵活。

最后一个选项是下载 Chromie 77 或更高版本并使用ExecutablePath启动它。

于 2019-10-09T11:29:28.903 回答