问题描述
我想自动点击网页上的一个按钮。问题是它只有在单击另一个按钮后才会出现在页面上。我已经成功地自动执行了第一次点击,但是一旦出现该按钮,我就无法自动执行第二次点击。
当我在按钮出现后在控制台中运行它时,以下代码有效:
// ==UserScript==
// @name Soundplate SUBMIT MUSIC Button
// @include https://play.soundplate.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
var TargetLink = $("a:contains('SUBMIT MUSIC')")
if (TargetLink.length)
window.location.href = TargetLink[0].href
但我不太确定如何在第一次点击发生后运行它。
我听说过 waitForKeyElements,但我不确定如何在这里实现它。这可能是解决方案。任何和所有建议都将不胜感激。
解决方法
// ==UserScript==
// @name Soundplate SUBMIT MUSIC Button
// @include https://play.soundplate.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==
waitForKeyElements (
".btn-lg",click
);
function click (TargetLink) {
TargetLink = $("a:contains('SUBMIT MUSIC')")
if (TargetLink.length)
window.location.href = TargetLink[0].href
}