【问题标题】:Manually typing VS setting value in JS在 JS 中手动输入 VS 设置值
【发布时间】:2018-04-26 01:17:54
【问题描述】:

我正在尝试为 kahoot.it 创建一个机器人,该机器人会在游戏/大厅中向机器人玩家发送垃圾邮件,但我一直在尝试输入大厅号码。当我手动输入数字然后执行时

document.getElementsByTagName('button')[0].click();

它工作正常,但是当我使用时

document.getElementById("inputSession").value = 309510;

然后

document.getElementsByTagName('button')[0].click();

用它不起作用的数字自动填充框。键入它和在js中设置值有什么区别?

【问题讨论】:

  • 你能详细解释一下吗?
  • 在kahoot的首页,有一个游戏号的表格和一个“进入”按钮。如果我输入游戏编号并单击按钮或使用 javascript 输入它,它可以工作,但如果我使用 javascript 输入数字,我会收到一条消息,上面写着“您需要输入游戏编号”或类似的东西线。基本上我觉得用js把form的值设置成游戏号和输入不一样,不知为何,需要一个解决办法
  • button的html代码是怎么写的?
  • document.getElementsByTagName('button')[0].click();老实说,我从另一个线程复制并粘贴了它,但只要我手动输入游戏密码它就可以工作(这就是问题所在)
  • 不,我想要这个button的html代码?

标签: javascript html css


【解决方案1】:

“键入它和在js中设置值有什么区别?”

如果您在输入框中键入它,您可能会得到一个字符串。另一方面,设置值会分配一个数字。

【讨论】:

  • 不,我把它放在引号里,我仍然得到“你需要输入游戏密码才能玩”,但它仍然填写了表格。我将它复制并粘贴回来,然后输入它,它工作正常;很奇怪……
【解决方案2】:

该站点正在使用一个名为 AngularJS 的框架,该框架使用一个名为 ng-change 的方法更新其模型以了解输入正在做什么,该方法在通过 javascript 设置输入值时不会更新。您可以查看此 SO question 以获取更多信息,或查看此问题。我确信它可能被欺骗,但它需要比我更多地了解 Angular 的内部结构。 – @Matt O'Tousa

【讨论】:

    猜你喜欢
    • 2014-10-04
    • 2015-08-15
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 2014-08-06
    • 2020-08-17
    相关资源
    最近更新 更多