【问题标题】:Press Button. Type in input box. Press submit按下按钮。在输入框中输入。按提交
【发布时间】:2016-07-02 20:15:01
【问题描述】:

假设我访问了一个包含以下代码的网站:

<input type="text" name="enter">
<input type="submit" name="button">

<a id="confirm">Confirm</a>

我需要一个可以在 Chrome 控制台中运行的脚本来按下 &lt;a&gt; 元素,然后在输入字段中输入文本“你好”,然后单击提交。我需要这个过程每分钟重复一次。

我尝试过使用这段代码..但它什么也没做。

window.setInterval(function() { 
   document.querySelector("#confirm").click();     
   document.querySelector(".enter").value = "Hello";     
   document.querySelector(".button").click(); 
}, 1000);

【问题讨论】:

  • 这可能会有所帮助。 stackoverflow.com/questions/17300364/…
  • @user685633 谢谢,但问题是页面上有很多按钮!我只是把它缩小到我需要点击的那些。另外,我需要在输入框中输入。
  • 我投票结束这个问题,因为它是一个工作请求。
  • @SomeKittens 我用我尝试过的内容更新了我的帖子
  • 您使用的查询选择器错误。 .whatever 用于 class="whatever"[name="whatever"] 代表name="whatever"/

标签: javascript html google-chrome console


【解决方案1】:

我认为这可能有效

setInterval(function() {
    $('#confirm').trigger('click');
    $('input[name=enter]').setAttribute('value', 'Hello');
    $('input[name=button]').submit();
}, 1000);

没有jquery

setInterval(function() {
    document.getElementById('confirm').click();
    document.querySelector('input[name=enter]').setAttribute('value', 'Hello');
    document.querySelector('input[name=button]').submit();
}, 1000);

我不是 100% 确定是 [name='enter'] 还是 [name=enter]

PS:选择前面带点的元素意味着您正在寻找类名,而不是元素名。

【讨论】:

  • OP 没有提到他们正在使用 JQUERY。
  • 我加了一个非jquery版本^^