来自 javascript 控制台 Chrome 的输入表单

Posted

技术标签:

【中文标题】来自 javascript 控制台 Chrome 的输入表单【英文标题】:Input form from javascript console Chrome 【发布时间】:2020-01-15 08:23:42 【问题描述】:

我尝试使用 Chrome 控制台在此网站上输入表单用户名和密码:https://ucp.nord***.com/login/ 但是当点击按钮登录时。它显示错误“用户名不能为空”

请帮助我。谢谢

// Input prompt format user:password
var account = prompt('Account?');
if (account) 
    account = account.split(":");
    console.log(account);
    document.querySelector("#ucp_login_email_field").value = account[0];
    document.querySelector("#ucp_login_password_field").value = account[1];
    document.querySelector(".Button").click();

【问题讨论】:

【参考方案1】:

这对我有用。请试试这个。但首先检查 account 是否为空。

// Input prompt format user:password
    var account = ["demo@gmail.com", "123456"]; 
    if (account) 
        console.log(account);
        document.querySelector("#ucp_login_email_field").value = account[0];
        document.querySelector("#ucp_login_password_field").value = account[1];
    ;
    if (document.querySelector("#ucp_login_email_field").value != "" && document.querySelector("#ucp_login_password_field").value != "")
        document.querySelector("form").submit();
     else
        console.log("fields are not filled correctly");
    

【讨论】:

我在解决方案中更改了一些代码,请检查。 试试 $("form").submit();上面的代码就可以正常工作了。 好的,我可以给你改一下.....谢谢。所以你应该接受我的回答。 请直接在那个网站上试试。它不起作用 它的工作形式是我,我不知道为什么它不适合你!【参考方案2】:

当您在文本框中键入值时,值(用户名、密码)存储在变量中。提交表单时,值取自变量并覆盖文本框中的值(您通过 chrome 控制台分配)。

因此,除非在文本框中输入,否则您的值无法通过 chrome 控制台提交。

【讨论】:

我不明白 文本框值在文本框中按键期间存储在变量中。单击登录按钮时,值是从那些变量中获取的,而不是从文本框中获取的。在您的情况下,您没有在文本框中输入任何内容。因此,变量中的值将为空。这就是为什么,它显示错误“用户名不能为空”。因为它没有考虑没有输入就没有输入的文本框值。您不能通过 chrome 控制台分配它。

以上是关于来自 javascript 控制台 Chrome 的输入表单的主要内容,如果未能解决你的问题,请参考以下文章

来自 chrome 控制台的聚合物属性

通过 Chrome 开发者工具查看来自 Ajax 调用的 HTML 响应?

Chrome 开发工具:来自 javascript 的 [VM] 文件

chrome扩展中popup.html和popup.js之间的函数JavaScript(考虑到来自后台的消息)[重复]

在 3 分钟后暂停来自 chrome 控制台的 youtube 视频

Javascript - 控制台中的设计文本[重复]