1

我正在尝试创建一个 javascript,它将自动按下第三方网站上的提交按钮。基本上,如果我想用 cookie 填写我的用户名和密码自动登录到一个站点,例如一个 google 帐户,javascript 会自动按下提交按钮,而我不必这样做。

4

1 回答 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 回答