2

我正在尝试设置一个书签,它将转到网页,输入一些登录信息,然后自动为我单击登录按钮。我的问题是,如果我只是转到页面然后按顺序输入登录信息,脚本通常会在加载表单元素之前完成执行。所以,我需要一些方法让脚本等到页面加载完毕后再将我的登录信息输入表单。到目前为止,我已经尝试了几种方法,但都没有奏效。

例如:

javascript:window.location = "http://www.msn.com";
window.onload=function(){alert("Page Loaded");};

警报对话框永远不会出现。我也尝试过使用 window.setTimeout 定期调用的函数,但这也不起作用:

javascript:function doLogin() {
    if (document.getElementsByName("login").length > 0) {
        document.getElementsByName("login")[0].value = "myUserName";
    }
    else {
        window.setTimeout(doLogin,100);
    }
}
window.location="http://my.web.page";
doLogin();

再一次,登录信息永远不会被输入。有谁知道我该怎么做?

4

1 回答 1

3

我认为问题在于,一旦您更改了窗口的位置(顺便说一句,它应该是window.location.href = 'http://www.msn.com';因为location它实际上是一个对象),其余的 JavaScript 就会被清除。

您可能需要将 JavaScript 放置在隐藏框架(或 iframe)中,并在可见框架(或 iframe)中打开目标站点。然后您可以从隐藏的 (i) 框架中操作页面的内容。

免责声明:我没有测试过这个,所以我不完全确定它会起作用。

于 2010-02-16T21:30:59.410 回答