【问题标题】:How to click a specific button every second如何每秒单击特定按钮
【发布时间】:2014-08-29 05:45:13
【问题描述】:

网页代码如下:

<div id="content">
    <div class="container-fluid">
        Slots
        <p>The current jackpot is 23220!<p/>
        <p>You lose.</p>
        <form method=post action=/games/slots.php>
            <input type=hidden name='hash_sub' value='MjEzOA=='>
            <input type=hidden name='act' value='spin'>
            <input type=submit value='Spin again!'>
        </form>
        <a href='slots.php'>Go Back</a>
    </div>
</div> 

我的代码:

setInterval(function solo() {
    jQuery('content').children('submit[value="Spin again!"]').click();
}, 1000);

我不确定我错过了什么,页面加载但根本没有点击按钮。没有控制台日志错误。

【问题讨论】:

标签: javascript jquery repeat clicking


【解决方案1】:

您需要使用# 和ID 和.find() 而不是.children().children() 只遍历直系子代,.find() 将查看后代。

使用

setInterval(function () {
    jQuery('#content').find('input[type=submit][value="Spin again!"]').click();
}, 1000);

此外,当您使用children('submit[value="Spin again!"]') 时,它会查找值为Spin again!submit 元素。

DEMO

【讨论】:

  • 由于某种原因这反而起作用了,我不知道为什么 setInterval(function solo() { jQuery('#content').find('input[type="submit"]:nth- child(3)').click(); console.log("1"); }, 1000);
  • @TonyVu 你为什么使用:nth-child(3)
  • 我使用 Google 的 Chrome 控制台 CSS 路径检查了该元素,并获得了 #content > div.container-fluid > center > form > input[type="submit"]:nth-child(3) for它的回归。
  • 我简化了代码。实际页面在这里 jsfiddle.net/5aswd0d8/2 。我不认为
    > 标签会使代码不起作用。
  • 确认它也有效。这更好,因为它比说 div 的第三个元素更具体。
【解决方案2】:

内容div的选择器不对,应该是这样的

setInterval(function solo() {
jQuery('#content').children('submit[value="Spin again!"]').click();
}, 1000);

【讨论】:

  • 我尝试添加主题标签,但没有明显区别。我再次刷新/进入页面,加载后没有任何反应。
猜你喜欢
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多