所以我试图为Tampermonkey创建一个以Crome为目标的用户脚本。
我想要做的是自动按下按钮。然而,有些事情使得这比我通常做的更复杂。
通常我会使用:
$("select[name=#MyTablename]").val("10");
document.forms[0].submit();
这是我想要访问的代码:
<input type="submit" class="button" value="List Airports">
我想知道正确的做法是通过xpath
进行访问//*[@id="body"]/input[4]
或通过选择器
#body > input:nth-child(11)
如何保证脚本只在我希望使我的脚本处于活动状态的域中的几个子页面上运行。
另外,在自动点击后重新加载页面时,如何阻止脚本反复执行。 (我只想在每次访问页面时点击一次按钮)
答案 0 :(得分:0)
1。 您可以使用GM_setValue和GM_getValue来确保已经单击了按钮。例如:
// Don't forget to include that in your // == UserScript== at the beinning of the script.
// To learn more about these metadata here: https://wiki.greasespot.net/Metadata_Block
// @grant GM_getValue
// @grant GM_setValue
// ==/UserScript==
然后用它来提交表单(一定要包含jQuery!):
if (!GM_getValue("foo") {
GM_setValue("foo", "bar");
$("input[type='submit'][value='yourvalue']").click();
}
不要忘记设置一个实际重置值的按钮,否则它只会运行一次。