随着 YouTube 最近为阻止广告拦截器所做的努力,他们现在似乎已经转向了可以跳过广告的 Chrome 扩展。截至 2024 年 1 月 17 日,他们似乎已经完全禁用了我能想到的按下“跳过广告”按钮的任何自动化方法
我在js方面毫无经验,但已经设法想出一些东西,到目前为止我已经尝试了所有:
const click = (clazz) => {
const buttons = document.getElementsByClassName(clazz);
for (const button of buttons) {
console.log(button)
button.click()
button.dispatchEvent(
new MouseEvent('click')
);
}
};
click("ytp-ad-skip-button-modern")
以及使用后续
mousedown/up
和 pointerdown/up
事件进行的等效操作,但这些事件似乎都不起作用
我想也许有一些隐藏的检查,按钮被悬停在上面,所以包括在内:
const mouseover = (clazz) => {
const buttons = document.getElementsByClassName(clazz);
for (const button of buttons) {
console.log(button)
button.dispatchEvent(
new MouseEvent('mouseover')
);
}
};
mouseover('ytp-ad-skip-button-modern')
这确实改变了跳过按钮的不透明度,正如人们对鼠标悬停事件所期望的那样,但实际上跳过仍然没有运气。
感觉就像我和谷歌在这一点上,有人有什么想法吗?
我不知道发生了什么变化,但是button.click()现在可以工作了。这要么与异步函数有关,要么与按钮的类名错误有关。抱歉,我无法提供更多帮助,但我的线索绝对为零