此段代码,看视频过程中如果加速视频会出现弹窗,代码如下:

//播放器初始化完毕时触发。播放器提供的方法需要在此事件发生后才可以调用
window.s2j_onPlayerInitOver = function (params) {
icmeParams.status = '1';
if (0 == 0 && 1 == 1 && document.querySelector('video.vsc-initialized')) {
player.destroy();
alert('系统检测到此浏览器安装了异常插件,请更换浏览器或卸载快进插件后观看');
};
var thirdvideo = document.querySelector('video.pv-video');
if (0 == 0 && 1 == 1 && thirdvideo && thirdvideo.getAttribute('data-popup-wrap-id')) {
player.destroy();
alert('系统检测到此浏览器安装了异常插件,请更换浏览器或卸载快进插件后观看.');
}

if (0 == 0 && 1 == 1) {
var ss1 = performance.now();
let ss2 = getMaxPlayTime();
var timerSSS = setInterval(function () {
let currTime = player.j2s_getCurrentTime();
let ss3 = currTime - ss2;
let ss5 = (performance.now() - ss1) / 1000;

if (ss3 > (ss5 + 2) * ratePlayLimitNum * 1.1) {
player.destroy();
layer.alert('系统检测到此浏览器安装了异常插件,请更换浏览器或卸载快进插件后观看..');
} else {
//console.log(ss3, ss5);
}
}, 1000);
}

弹窗出现前会先关闭视频,导致无法视频加速,调用了player.destroy();函数,我们可以这样解决这个问题,代码如下:

from selenium import webdriver

driver = webdriver.Chrome()

# 在页面加载后注入覆盖脚本

driver.execute_script("""

// 备份原始方法(可选)

window._originalDestroy = player.destroy.bind(player);

// 覆盖destroy方法

player.destroy = function() {

console.log('Blocked player.destroy()');

// 可以在这里添加调试信息

};

""")