使用用户脚本自动选中复选框?

时间:2015-11-17 18:38:37

标签: javascript checkbox greasemonkey steam tampermonkey

某些网站(即Steam社区市场)要求用户手动检查特定复选框,以便重复操作,例如购买商品。

我希望始终选中该复选框。

  • URL:
    http://steamcommunity.com/market/listings/730/USP-S%20%7C%20Torque%20(Field-Tested)
  • 元素:
    <input id="market_buynow_dialog_accept_ssa" type="checkbox" value="0" name="accept_ssa">

可以用Tampermonkey完成吗?

我发现document.getElementById("checkbox").checked = true;对我来说似乎合情合理。我把它放在一个新的Tampermonkey脚本中,并将蒸汽市场添加到脚本激活的网站列表中,但它没有用。

2 个答案:

答案 0 :(得分:2)

  1. 在应该执行用户脚本的网址中找到一个模式,例如,如果它是http://steamcommunity.com/market/listings/730/USP-S%20%7C%20Torque%20(Field-Tested),那么我们可以假设以730开头的部分是易变的,所以我们将用{{1}替换它在*密钥中。
  2. 我们应该等待在页面上添加checkbox元素,有两种方法:MutationObserver - 基于(我将使用setMutationHandler包装器)和@include - 基于({最着名的包装是waitForKeyElements)。两者都通过setInterval密钥插入。
  3. @require

    更多信息:Greasespot wiki

答案 1 :(得分:0)

有点晚,但是您的代码是错误的。

grtelementbyid应该引用html标记的ID,而不是类型。即getelementbyid(“ market_buynow _....”)