ゴール:YouTubeプレイリストを読み込み、GreaseMonkey click()
の「シャッフルプレイリスト」ボタンをクリックします。GreaseMonkey + Youtube + .click()
私はまっすぐ私のコンソールでこれらの2つの行を実行することはできませんし、それが完璧に動作します:
var shuffleBtn = document.querySelector(".yt-uix-button.shuffle-playlist");
shuffleBtn.click();
しかし、私はGreaseMonkdayに移動しようとしたとき、それはもはや機能します。 次のコードで console.log
年代はを実行してください - と(コメントアウト)remove()
作品が、click()
ますないトリガー。私もmethod outlined hereを試しましたが、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');
}
}
私はそれを少しテストしました...プログラムのクリックがGreaseMonkeyでブロックされていないので、実際にはうまくいくはずです。私はボタンが適切に初期化されていないかもしれないと思っていましたが、 'setTimeout'を介して実行が遅延しても動作していないようです。 – Xufox
ユーザスクリプトが実行されると、シャッフルボタンは2つの 'click'イベントリスナの1つを「失う」ようです:[スクリプトなしの2つのイベントリスナがあります](http://i.stack.imgur.com/1vsZF .png)ですが、[イベントリスナーは1つしかスクリプトなし](http://i.stack.imgur.com/YXgu5.png)です。 – Xufox
ええ、私は 'setTimeout'と' .trigger( 'click') 'で試してみましたが、* jQueryで全部試しました... – frogg3862