window.open之后的代码不会被执行

时间:2013-09-07 20:13:47

标签: javascript

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

我的代码如下:

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

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

我尝试在“window.open”之后添加“console.log”,但由于某种原因,似乎永远不会被调用。

我可能做错了什么?

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

是否可以从窗口获取正确的文档对象? 甚至可以使用“window.open”然后访问新的文档对象? 帮助将非常赞赏!

2 个答案:

答案 0 :(得分: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.
 });

答案 1 :(得分:0)

1.将您的值作为查询字符串。示例:www.test.com?username = bro& password = hub。 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.你将在上述变量中​​获得价值。尽情享受你想做的事。