在元素中填写文本字段



我知道已经有一些关于访问另一个元素中的元素的线程…我试了很多东西,但我不能让它工作…

JSFiddle -> http://jsfiddle.net/YcPc8/2/

我想在页面上做的是填写用户名和密码-然后点击登录按钮。

这是该网页的一部分html代码:

    <section id="notifications"></section>
<div style="display: block;" id="login" class="">
    <div id="login-content">
        <form>
            <h1>Nessus Vulnerability Scanner</h1>
                <input name="login" tabindex="1" placeholder="Username" maxlength="128" autocomplete="off" autocapitalize="off" autocorrect="off" spellcheck="false" class="required login-username" type="text">
                <i class="glyphicons username"></i>
                <input name="password" tabindex="2" placeholder="Password" maxlength="128" autocomplete="off" class="required login-password" type="password">
                <i class="glyphicons password"></i>
                <div id="remember-me" class="floatleft">
                    <div class="checkbox login-remember"></div>
                    <span class="floatleft">Remember Me</span>
                </div>
                <button type="submit" id="sign-in" tabindex="3" class="button secondary login floatright">Sign In</button>
        </form>
        <div class="clear"></div>
    </div>
</div>
<div class="clear"></div>
<h2>Tenable Network Security</h2>
<div class="clear"></div>

现在我要填写登录名和密码字段…以下是我在javascript中尝试的一些代码:

var nessus = window.open("https://localhost:8834/html5.html#/scans");
var doc = nessus.document.getElementById("login-content").getElementsByName("login");
doc.setAttribute("value","USERNAME");

element.getElementsByName("login")返回一个元素列表。如果您确定它将返回1个元素,您可能希望这样写:

var doc = nessus.document.getElementsByName("login")[0];

编辑:此外,getElementsByName是文档接口的一个方法。不能在node元素上使用

你最好给你的用户名输入字段一个ID,并通过

直接访问它
var doc = document.getElementById("usernameInput");
doc.value = "USERNAME";

JSFiddle: http://jsfiddle.net/YcPc8/4/

相关内容

  • 没有找到相关文章

最新更新