问题描述
我正在尝试在我的 puppeteer 浏览器中播放视频,但是一旦浏览器应用程序执行点击播放,视频就会显示一些错误并且无法播放。 是网站保护还是我做错了什么? 如果我尝试其他网站点击执行器正常,我该怎么办?
我的代码:
using puppe_ua;
using PuppeteerSharp;
using PuppeteerSharp.Extra;
using PuppeteerSharp.Extra.Evasions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace pupe
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender,EventArgs e)
{
globalData.UserAgents = UserAgents.UserAgentData;
}
private async void button1_Click(object sender,EventArgs e)
{
//string _userAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/85.0.4183.83 Safari/537.36";
await new browserFetcher().DownloadAsync(browserFetcher.DefaultRevision);
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = false,Args = new string[4]
{
"--disable-gpu","--enable-automation","--disable-setuid-sandBox","--enable-automation"
}
});
var page = await browser.NewPageAsync();
await page.SetUserAgentAsync("Mozilla/5.0 (Linux; Android 9; SM-A102U Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML,like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 Instagram 155.0.0.37.107 Android (28/9; 320dpi; 720x1468; samsung; SM-A102U; a10e; exynos7885; en_US; 239490550)");
// await page.SetUserAgentAsync(UserAgents.UserAgentData.ToArray);
await page.SetViewportAsync(new ViewPortOptions
{
Width = 720,Height = 1468
});
await page.GoToAsync("https://live.shopee.com.my/p/share?from=live&session=1231359&viewer=115#copy_link");
var allResultsSelector = ".bNwffg";
await page.WaitForSelectorAsync(allResultsSelector);
await page.ClickAsync(allResultsSelector);
//await page.Mouse.ClickAsync(100,100);
//("https://bot.sannysoft.com/");
//wait page.GoToAsync("https://antoinevastel.com/bots"); //https://bot.sannysoft.com/
//await page.ScreenshotAsync("screens/test.png",new ScreenshotOptions { Type = Screenshottype.Png });
//MessageBox.Show("screen done!");
}
}
}
public class PuppeteerExtraPluginStealth : PuppeteerExtraPlugin
{
private static readonly IReadOnlyDictionary<string,Type> EvasionPluginTypes = new Dictionary<string,Type>
{
{ "navigator.languages",typeof(NavigatorLanguagesEvasionPlugin) },{ "navigator.plugins",typeof(NavigatorPluginsEvasionPlugin) },{ "window.outerdimensions",typeof(WindowOuterDimensionsEvasionPlugin) }
};
public override string Name => "stealth";
public override IPluginoptions Defaults
{
get
{
HashSet<string> availableEvasions = new HashSet<string>
{
//"chrome.runtime",//"console.debug","navigator.languages","navigator.permissions","navigator.webdriver","navigator.plugins","window.outerdimensions","webgl.vendor",//"user-agent"
};
return new Options
{
AvailableEvasions = availableEvasions,EnabledEvasions = new HashSet<string>(availableEvasions)
};
}
}
public override ISet<Type> Dependencies => new HashSet<Type>(((Options)Opts).EnabledEvasions.Select(x => EvasionPluginTypes[x]));
public HashSet<string> AvailableEvasions => ((Options)Defaults).AvailableEvasions;
public HashSet<string> EnabledEvasions
{
get => ((Options)Opts).EnabledEvasions;
set => ((Options)Opts).EnabledEvasions = value;
}
public class Options : IPluginoptions
{
public HashSet<string> AvailableEvasions { get; set; }
public HashSet<string> EnabledEvasions { get; set; }
}
}
我正在尝试在我的 puppeteer 浏览器中播放视频,但是一旦浏览器应用程序执行点击播放,视频就会显示一些错误并且无法播放。 是网站保护还是我做错了什么? 如果我尝试其他网站点击执行器正常,我该怎么办?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)