【发布时间】:2021-01-18 12:19:57
【问题描述】:
我想知道如何以及是否可以在 Visual Studio 项目中使用 puppeteer-extra-plugin-stealth。
据我所知,有一个名为:puppeteer sharp 的项目,但他们没有展示如何使用插件隐身,因为这是最好的浏览器,无法检测为“bot”。
在由Docker 编译的我的另一个puppeteer .js file 中,我有这个代码要加载安装puppeteer-extra-plugin-stealth:
Docker puppeteer 代码:
const puppeteer = require('puppeteer-extra');
const stealthPlugin = require('puppeteer-extra-plugin-stealth');
const { IS_PROD } = require('../utils/constants');
puppeteer.use(stealthPlugin());
// In order to run chromium processes in parallel. https://github.com/puppeteer/puppeteer/issues/594#issuecomment-325919885
process.setMaxListeners(Infinity);
const getBrowserInstance = async (port) => {
const browser = await puppeteer.launch({
args: IS_PROD ? ['--no-sandbox', `--proxy-server=socks5://127.0.0.1:${port}`] : ['--no-sandbox'],
devtools: !IS_PROD,
executablePath: IS_PROD ? '/usr/bin/chromium-browser' : undefined,
});
const incognitoBrowserContext = browser.createIncognitoBrowserContext();
incognitoBrowserContext.close = browser.close;
return incognitoBrowserContext;
};
module.exports = {
getBrowserInstance,
};
但这是我的 C# 表单,我不知道如何使用或加载或实现 puppeteer-extra-plugin-stealth
我的 VS 代码:
using PuppeteerSharp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace pupe
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private async void button1_Click(object sender, EventArgs e)
{
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true
});
var page = await browser.NewPageAsync();
await page.SetViewportAsync(new ViewPortOptions
{
Width = 1920,
Height = 1080
});
await page.GoToAsync("https://bot.sannysoft.com/");
await page.ScreenshotAsync("screens/test.png", new ScreenshotOptions { Type = ScreenshotType.Png });
MessageBox.Show("screen done!");
}
}
}
【问题讨论】:
标签: c# visual-studio puppeteer sharp