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

Javascript 是否使用用户脚本自动选中复选框?,javascript,checkbox,greasemonkey,steam,tampermonkey,Javascript,Checkbox,Greasemonkey,Steam,Tampermonkey,一些网站(即Steam Community Market)要求用户手动选中特定复选框,以查看重复操作,如购买物品 我希望始终选中该复选框 网址: http://steamcommunity.com/market/listings/730/USP-S%20%7C%20Torque%20(现场测试) 元素: 用猴子能做到吗 我发现document.getElementById(“复选框”).checked=true这在我看来是合乎逻辑的。我把它放在一个新的Tampermonkey脚本中,并将s

一些网站(即Steam Community Market)要求用户手动选中特定复选框,以查看重复操作,如购买物品

我希望始终选中该复选框

  • 网址:
    http://steamcommunity.com/market/listings/730/USP-S%20%7C%20Torque%20(现场测试)
  • 元素:
用猴子能做到吗

我发现
document.getElementById(“复选框”).checked=true这在我看来是合乎逻辑的。我把它放在一个新的Tampermonkey脚本中,并将steam market添加到该脚本激活的网站列表中,但它不起作用

  • 在URL中查找应该执行userscript的模式,例如,如果它是
    http://steamcommunity.com/market/listings/730/USP-S%20%7C%20Torque%20(现场测试)
    然后我们可以假设以
    730开头的部件是易失性的,因此我们将在
    @include
    键中将其替换为
    *
  • 我们应该等待checkbox元素添加到页面上,有两种方法:-基于(我将使用wrapper)和
    setInterval
    -基于(最著名的wrapper是)。两者都通过
    @require
    键插入


  • 更多信息:。

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


    grtelementbyid应该引用html标记的id,而不是类型。例如,getelementbyid(“market_buynow_…)

    这是可能的,也不太难,但您必须提供一些细节,如页面url和实际的复选框html(以及到pastie.org或类似网站上发布的整个页面html的链接)。如果您提供这些详细信息,您的问题虽然有点离题,但对其他人可能仍然有用。@wOxxOm我本来打算在通用蒸汽市场(at)上使用它,但具体地说,我正在尝试。HTML代码(仅源代码)位于。尽管知道这个框只在你点击“立即购买”后才会出现可能很有用,而且物品清单也会有很大的变化。我希望这是我所需要的。谢谢!虽然我不再有足够的钱做任何事情,当我点击buy now时,它只会显示“添加更多资金”,所以我无法真正测试它,但至少Tamper monkey显示脚本已经执行。当我们在做的时候,是否也可以让“立即购买”按钮立即购买物品?(或自动选中复选框并自动单击确认按钮?)此外,功能(选中它们)是否必须在首次使用前声明,而不是在首次使用后声明?只是想知道是的,这是可能的,但既然这是另一个问题,我建议你自己多想想。
    // ==UserScript==
    // @name        Steam - accept the agreement
    // @include     http://steamcommunity.com/market/listings/*
    // @require     https://greasyfork.org/scripts/12228/code/setMutationHandler.js
    // ==/UserScript==
    
    
    // maybe the elements are already on the page
    checkThem([].slice.call(document.querySelectorAll('input[type="checkbox"]')));
    
    // but anyway set a MutationObserver handler for them
    setMutationHandler(document, 'input[type="checkbox"]', checkThem);
    
    function checkThem(nodes) {
        nodes.forEach(function(n) { n.checked = true });
    }