GreaseMonkey + Youtube + .click()
GreaseMonkey + Youtube + .click()
目标:我加载一个YouTube播放列表,然后GreaseMonkey click()
的"shuffle playlist"按钮。
我可以在控制台中直接运行这两条线,它运行得很好:
var shuffleBtn = document.querySelector(".yt-uix-button.shuffle-playlist");
shuffleBtn.click();
然而,当我试图把它搬到GreaseMonkday时,它已经不起作用了。下面代码中的console.log
确实运行——并且(注释掉的)remove()
可以工作,但click()
不会触发。我也尝试过这里概述的方法,没有jQuery位,但也没有成功。
我错过了什么?
// ==UserScript==
// @name YouTube - Randomize Playlist
// @namespace ytplaylistrandom
// @include https://www.youtube.com/watch?v=yyDUC1LUXSU&list=PLh6vppUwmWEMdp04u-tYABoDmgn9AX12n
// @version 1
// @grant none
// ==/UserScript==
window.onload = function () {
var shuffleBtn = document.querySelector(".yt-uix-button.shuffle-playlist");
if( shuffleBtn ){
console.log('exists');
shuffleBtn.click();
//shuffleBtn.remove();
console.log('end');
}else {
console.log('nobutton');
}
}
我想我得到了:
使用window.addEventListener("load", function(){
…})
而不是window.onload = function(){
…}
。
似乎window
已经有了一个onload
函数,它初始化了shuffle按钮的功能,并且脚本正在覆盖它。
相关文章:
- 有可能过滤来自嵌入式YouTube的声音吗
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- html5视频中的Youtube类型注释
- 用Greasemonkey编辑专栏
- 链接和youtube的Javascript和regex
- YouTube作为弹出窗口在桌面版本上播放,但不在移动设备上播放
- 使用javascript将视频从我的android应用程序上传到youtube
- internet explorer 8兼容模式下的Youtube api错误
- 如何用低音量自动启动Youtube视频(iframe)
- 可以't从Youtube IFrame更改焦点
- 使用HTML5播放器时使用Javascript更改Youtube视频
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- 可以't根据设备自动调整youtube播放器的大小
- Youtube JavaScript API不是't正在初始化
- 我该如何组合这两个Greasemonkey脚本
- 有没有办法在dailymotion播放器的新测试版中播放youtube视频
- GreaseMonkey + Youtube + .click()
- 用于更改YouTube页面的Greasemonkey脚本无法正常工作
- 如何使用Greasemonkey调用现有视频的Youtube-Flash-API
- 不同的加载脚本与greasemonkey给出不同的行为在youtube