微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PuppeteerSharp 未加载视频

如何解决PuppeteerSharp 未加载视频

我正在尝试在我的 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 举报,一经查实,本站将立刻删除。