【问题标题】:Can a button be un-clickable with Javascript?可以使用 Javascript 无法点击按钮吗?
【发布时间】:2021-09-20 03:41:25
【问题描述】:

请原谅我提出如此具体的问题,但我正在尝试帮助家长自动填写 a website 上的信息,他们必须每天为孩子上学做这些工作。

这是来自上述网站的相关 HTML sn-p

<div class="text-center" id="btnDailyScreeningSubmit">
            <button type="button" class="btn btn-primary mt-2 btn-lg" onclick="showLayout('#guest_questions')">Fill Out Daily Screening</button>
        </div>

我正在尝试使用 JS 单击页面底部的“填写每日筛选”按钮。 JS 将使用 iPhone 的 Scriptable App 集成到 Siri Shortcut 中,因此如果这有帮助的话,我可以将一些 JS 库导入到脚本中。

我试过了

document.getElementById("btnDailyScreeningSubmit").click();
document.getElementById("btnDailyScreeningSubmit").submit();

这不起作用。网页上没有任何反应,Chrome JS 控制台返回“未定义”。

我已经尝试过通用

document.forms[0].submit();

我猜这是提交表单,但这不是该网站正在寻找的。浏览器不会进入下一页,而是返回 JSON 响应。

我希望可能有一种方法可以根据其在网站上的位置单击按钮,但我无法在该区域找到任何有希望的东西。

所以我正在联系这里的所有 JS 专家,以了解是否有办法点击该网站上的按钮?

【问题讨论】:

  • 按钮没有ID。您尝试使用父 DIV 的 id。您可以使用 childNodes 获取按钮,然后单击它。
  • 请编辑您的问题并发布相关的 HTML(不是网站链接)。我们还需要查看绑定到您所指的那个按钮的现有事件。
  • @devlincarnate 完成,如果您觉得问题需要比我添加的更大的 sn-p,请告诉我。

标签: javascript ui-automation


【解决方案1】:

您需要改为单击 div 元素内的按钮。

document.getElementById("btnDailyScreeningSubmit").querySelector('button').click();

【讨论】:

  • 我可以问你一个后续问题吗?下一页最后一个“提交”按钮没有ID,怎么点击?
【解决方案2】:

在用户单击页面之前,您无法从 javascript 中单击内容...向 window 添加一个 mousedown 侦听器,然后尝试一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    • 2011-07-14
    • 2011-08-20
    相关资源
    最近更新 更多