我正在尝试创建一个 javascript,它将自动按下第三方网站上的提交按钮。基本上,如果我想用 cookie 填写我的用户名和密码自动登录到一个站点,例如一个 google 帐户,javascript 会自动按下提交按钮,而我不必这样做。
user1667601
问问题
18241 次
1 回答
5
我猜你正在寻找的是.click()
所有按钮都有的方法。更详细的解释如下...
您可以在一个框架中使用frameset
您的 JavaScript 代码,而在另一个框架中使用第三方页面。例如:
<!-- Main page -->
<HTML><frameset rows="0,*">
<!-- You see your script page. To see the actual login page, swap the * and the 0. -->
<frame src="http://third.party.website.com/login/page.htm" name="theirframe" />
<frame src="myscript.html" name="myframe" />
</frameset></HTML>
如果您要登录的页面是这样的(从 Gmail 的登录页面清理,他们有很多奇怪的换行符和空格!):
<!-- Third-party page -->
<div class="email-div">
<label for="Email"><strong class="email-label">Username</strong></label>
<input type="email" spellcheck="false" name="Email" id="Email" value="">
</div>
<div class="passwd-div">
<label for="Passwd"><strong class="passwd-label">Password</strong></label>
<input type="password" name="Passwd" id="Passwd">
</div>
<input type="submit" class="g-button g-button-submit" name="signIn" id="signIn" value="Sign in">
那么你的脚本可能是这样的:
<!-- Your script page (myscript.html) -->
<HTML><body>
<!-- Insert custom message here... -->
Logging you in......
<script>
//parent.theirframe.document.getElementById("Email").value = getemail();
//parent.theirframe.document.getElementById("Passwd").value = getpass();
parent.theirframe.document.getElementById("signIn").click();
</script>
<body></HTML>
如果您的浏览器告诉您“ID 为“电子邮件”的元素不存在”或其他内容,则您的浏览器可能在登录页面之前加载了您的脚本页面。在这种情况下,您必须将登录页面放在iframe
自定义页面中的命名中,并将脚本放在页面正文中的之后iframe
。如果您最终这样做了,此页面将帮助您访问iframe
的内容。
希望这会有所帮助。
于 2012-09-16T18:45:27.503 回答