4

我最近开始学习 javascript,我目前正在尝试制作一个小脚本来通过填写用户名/密码字段来自动化登录过程,然后单击“提交”按钮。

我的代码如下:

window.open("");
document.getElementById('ctl00_Username').value = "XXXX";
document.getElementById('ctl00_Password').value="XXXX";
document.getElementById('ctl00_ButtonLogin').click();

如果我运行一次,网站会打开,但不会填写任何文本字段。
如果我运行代码两次(当网站已经打开时)登录成功。

我尝试将“console.log”放在“window.open”之后,但由于某种原因似乎从未被调用过。

我可能做错了什么?

编辑:删除了不必要的代码。我也不再确定文档对象实际上指向新打开的窗口。对“console.log”和“alert”的调用似乎也没有任何作用。

是否可以从窗口中获取正确的文档对象?甚至可以使用“window.open”然后访问新的文档对象吗?帮助将不胜感激!

4

2 回答 2

0

window.open 调用返回对窗口的引用,您可以使用它来修改窗口。

 win=window.open(...);
 win.document.doYourThing

您可能还需要等到文档准备好(也就是加载)。在下面使用 jquery

 $(win.document).ready(function() {
     //the document is loaded by here, this is probably where you should do your stuff.
 });
于 2013-09-10T05:09:16.093 回答
0

1.将您的值作为查询字符串传递。示例:www.test.com?username=bro&password=bro。2.在另一页粘贴下面的代码。

$(function () {
        $(document).ready(function () {
        var amount = $('money').val();
        var from = "INR";
        var to = "SGD";
        $.ajax({ type: "POST",
        url: "WebService.asmx/CurrencyConversion",
        data: "{amount:" + amount + ",fromCurrency:'" + from + "',toCurrency:'" + to + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
        var money = $(".money").val();
        $(".money").replace(money, data.d);
        }
        });
        });
        });

3.现在也粘贴此代码。

var uname = getUrlVars()["username"];
var psw = getUrlVars()["password"];

4.您将在上述变量中​​具有值。享受做任何你想做的事情。

于 2013-09-10T06:07:06.850 回答