Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动填写外部网页的特定登录表单_Javascript_Html_Css - Fatal编程技术网

Javascript 自动填写外部网页的特定登录表单

Javascript 自动填写外部网页的特定登录表单,javascript,html,css,Javascript,Html,Css,我正在尝试传递凭据以自动填写此网站的登录输入:。 我不知道变量是什么。因此,我使用浏览器的inspect来了解每个输入的id 我正在使用此代码,但它不起作用: 功能测试(){ var name=document.getElementById(“id”).value; var password=document.getElementById(“密码”).value; document.forms[“registerForm”].submit();//表单提交 } 与其说是对您的问题的回答,不如说

我正在尝试传递凭据以自动填写此网站的登录输入:。 我不知道变量是什么。因此,我使用浏览器的inspect来了解每个输入的id

我正在使用此代码,但它不起作用:

功能测试(){
var name=document.getElementById(“id”).value;
var password=document.getElementById(“密码”).value;
document.forms[“registerForm”].submit();//表单提交
}

与其说是对您的问题的回答,不如说是将来的参考,您不需要通过选择器获取表单中的所有元素。您可以简单地使用以下技术:

function Test() {
    let form = document.getElementById('registerForm');
    var password = form.elements.password.value; 
    var email = form.elements.email.value;
    form.submit();
}

注意访问
表单。元素
如何授予您对试图读取的
元素的直接访问权。

我可能只是吹毛求疵,但由于这是一个表单提交,您可能需要使用
onsubmit
,而不仅仅是单击按钮执行操作。试试这个吧

<!DOCTYPE html>
<html>
<body>
<form id="formulario" name="formulario" method="post" target="_top" action="https://www.allianz.pt/area-privada" onsubmit="submitFunction()">

<input id="usuario" name="_58_login" type="text" value="examplelogin" />
<input id="password" name="_58_password" type="password" value="examplepassword" />

<button type="submit">Submit</button>

</form>

<script>

function Test() {
    // your submit code
}

</script>
</body>
</html>

提交
功能测试(){
//您的提交代码
}

表格有时可能非常挑剔。始终最好使用一个工作示例作为参考。我尝试运行此代码,但当allianz.pt/area-privada打开时,它只会思考,不会显示整个页面

功能测试(){
var name=document.getElementById(“usuario”).value;
var password=document.getElementById(“密码”).value;
document.forms[“formulario”].submit();//表单提交
}

提交

我刚刚修改了您的代码。你把/放在表单标签的末尾。这就是它不起作用的原因。现在请再次检查。如果有任何更改,请通知我。您必须在test()中添加response.redirect(')。当我运行您的建议时,代码会给出以下错误:错误:{“message”:“Uncaught TypeError:无法读取null的属性“value”,“filename:”,“lineno”:27,“colno”:45}。你建议这样做吗函数测试(){var name=document.getElementById(“id”).value;var password=document.getElementById(“password”).value;document.forms[“registerForm”].submit();//表单提交响应。重定向(“pinterest.pt/login/”;)等等,让我检查一下。是的,原因是网站生成了一个CSRF令牌。现在我尝试使用密码管理软件的API自动填充输入凭据。无论如何,谢谢你的帮助。我也尝试过使用你的技术,但是pinterest打开时出现了错误:pinterest.com/csrf\u error。真的有可能填写我没有使用Javascript开发的网页的输入?没有。你之所以会出现这种错误,是因为pinterest为每个用户生成了一个CSRF令牌,以防止XSS.Ok。我还尝试使用该网站用Javascript填充他们的凭据。在这种情况下,该网站没有返回错误,但没有填写用户名和密码输入。我有下面的代码。此网站是否可以使用javascript填写凭据?谢谢您的帮助。您不能从其他网站填写表单,但您可以向该网站上的表单将其数据发送到的URL发送post请求。但正如我所说,大多数网站使用令牌来检查发送者是否真的在他们的网站上,以及是否是合法用户。这就是为什么我们现在使用API调用。也许pinterest API提供了您想要实现的功能?这个问题可能很愚蠢,但我如何使用pinterest API来实现我需要的功能?例如,对于安联,我发现这个:。我想做的事情与EnPass这样的密码管理软件一样:用户只需插入url、用户和密码,软件就可以正确地填写凭证输入。你知道这个软件或其他软件用来做这件事吗?谢谢您的帮助。我尝试根据您的建议运行代码,但当allianz.pt/area-privada打开时,它只是在思考,而没有显示整个页面。@john3485请确保您在提交表单时发送了所有正确的数据,应该有特定的参数需要查看您需要查看的内容,您可能没有提供。问题是网站生成了CSRF令牌。