javascript - 如何使用 javascript 在表单中提交数据
问题描述
我花了几个小时寻找,但我找不到解决方案。我想用 JS 自动化一项人工工作,我在偶然的网站上运行了一些测试,它可以工作。但是在特定站点中,我在登录页面上遇到以下问题:
OBS:我在浏览器控制台中执行此操作,以进行测试。
var username = window.document.getElementById("username")
undefined
var password = window.document.getElementById("password")
undefined
var signin = window.document.querySelector(".splButton-primary.btn")
undefined
username.value = "usuariovalue"
"usuariovalue"
password.value = "passwordvalue"
"password value"
signin.click()
但是,我收到了这个消息:>common.js:27 POST https://siteexemple/en-US/account/login 401(未经授权)。如果我在站点中手动填写用户名和密码,然后单击使用 JS 的按钮,它可以工作。
我看不出区别。
按照网站的代码块:
<form method="post" class="loginForm" action="/en-US/account/login">
<div style="display: none" data-cid="view200" class="account-login-firsttime" data-view="views/account/login/FirstTime" data-render-time="0">
<h2>First time signing in?</h2>
<p>If you've forgotten your username or password, please contact your Splunk administrator.</p>
<table>
<tbody><tr>
<td>username</td>
<td>admin</td>
</tr>
<tr>
<td>password</td>
<td>changeme</td>
</tr>
</tbody>
</table>
</div>
<fieldset>
<div class="control account-login-textcontrol control-default" data-cid="view197" data-view="views/account/login/TextControl" data-name="username" data-render-time="0">
<span class="uneditable-input " data-role="uneditable-input" style="display:none"></span>
<input type="text" name="username" class=" " value="" autocomplete="off" id="username" placeholder="Username"> </div>
<div class="control account-login-textcontrol control-default" data-cid="view199" data-view="views/account/login/TextControl" data-name="password" data-render-time="0">
<span class="uneditable-input " data-role="uneditable-input" style="display:none"></span>
<input type="password" name="password" class=" " value="" autocomplete="off" id="password" placeholder="Password"> </div><input class="splButton-primary btn" type="submit" value="Sign in">
<input type="hidden" name="cval" value="1900007162">
<input type="hidden" name="return_to" value="/en-US/">
</fieldset>
</form>
你能帮助我吗?我从 JS 开始。
解决方案
推荐阅读
- javascript - 将模板文字作为表达式而不是字符串传递给 props
- r - 如何使 R Shiny 对滑块更改做出反应,但如果我想绘制解决方案的另一部分,则不重新计算所有内容
- node.js - Processmaker 4 社区版安装
- powershell - 无法通过管道将返回 false 的 ping 计算机的名称传递给 test-netconnection
- python - 以每分钟硬限制并行调用 API
- ruby-on-rails - 如何修复 BCrypt-3.1.11 散列密码附加的“\x00”字符流
- json - 使用 AWS Sagemaker 基本事实为一项任务指定多个来源时如何编辑清单
- python - TypeError: can't concat str to bytes (我可以将其视为错误)
- enums - 对招摇文档的枚举支持
- c - C程序在训练访问字符串数组后停止