我希望自动化我的互联网服务提供商登录页面,以便WiFi始终保持连接状态。
$url="http://login.hireachbroadband.com/login"
$username="username"
$password="password"
$ie=New-Object -com internetexplorer.application;
$ie.visible = $true;
$ie.navigate($url);
while ($ie.Busy -eq $true)
{
Start-Sleep -Milliseconds 1000;
}
$ie.Document.getElementById("username").value=$username
$ie.Document.getElementByID("password").value=$password
$document.getElementsByID("btn btn-success btn-lg btn-block").Click();
$submitButton.click()
$cmd.Quit();
该网页有以下页面来源
<!DOCTYPE html>
<!-- saved from url=(0034)http://demo.kangndo.com/kangndo19/ -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="-1" />
<meta http-equiv="Pragma" content="No-Cache">
<meta http-equiv="Cache-Control"
content="No-Cache,Must-Revalidate,No-Store">
<meta charset="utf-8">
<title>ReachBroadband :: Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<script src="jquery-1.9.1.js"></script>
<script>
$(function() {
if (localStorage.chkbx && localStorage.chkbx != '') {
// alert('localStorage.chkbx : '+ localStorage.chkbx)
$('#remember_me').attr('checked', 'checked');
$('#username').val(localStorage.usrname);
$('#pass').val(localStorage.pass);
} else {
$('#remember_me').removeAttr('checked');
$('#username').val('');
$('#pass').val('');
}
$('#remember_me').click(function() {
if ($('#remember_me').is(':checked')) {
// save username and password
localStorage.usrname = $('#username').val();
localStorage.pass = $('#pass').val();
localStorage.chkbx = $('#remember_me').val();
} else {
localStorage.usrname = '';
localStorage.pass = '';
localStorage.chkbx = '';
}
});
});
function onsubmitform(){
if ($('#remember_me').is(':checked')) {
// save username and password
localStorage.usrname = $('#username').val();
localStorage.pass = $('#pass').val();
localStorage.chkbx = $('#remember_me').val();
} else {
localStorage.usrname = '';
localStorage.pass = '';
localStorage.chkbx = '';
}
return true;
}
</script>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
<![endif]-->
</head>
<!-- /HEAD-->
<body data-spy="scroll" data-target=".navbar" style="">
<nav id="topnav" class="navbar navbar-fixed-top navbar-inverse"
role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-ex1-collapse"><span class="sr-only">Toggle
navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span></button>
<a class="navbar-brand" href="javascript:void(0);"><img
src="logo.png" style="width: 150px" /></a></div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
</ul>
<div class="nav navbar-nav navbar-right">
<div class="kangndo"><strong>Please call customer care if
you have any issues : 96422 12345</strong></div>
</div>
</div>
</div>
</nav>
<!-- HEADER -->
<header id="top-section">
<div class="jumbotron">
<div class="container">
<div class="row">
<div class="text-left col-xs-12 col-sm-4 col-lg-4"
style="padding-right: 30px;"><!-- FORM-->
<div>
<div class="panel">
<div class="panel-heading text-center "><strong>Hotspot
Login</strong></div>
<div class="panel-body">
<form name="login" action="http://login.hireachbroadband.com/login" method="post"
>
<fieldset>
<p class="text-center" style="font-size:14px;"><small><br />
Note : Your default Password is <strong>123456</strong>. If you want to change your password please click on My Account</small></p>
<div class="form-group"><label for="exampleInputEmail">User
name</label> <input type="text" class="form-control" id="username"
name="username" autofocus="" value=""></div>
<div class="form-group"><label for="exampleInputPassword">Password</label>
<input type="password" name="password" class="form-control"
id="pass"></div>
<label class="checkbox">
<input type="checkbox" value="1" id="remember_me"> Remember me
</label>
<button type="submit" class="btn btn-success btn-lg btn-block">Sign
In</button>
</fieldset>
</form>
</div>
<div class="panel-footer">
<p><a href="http://myaccount.hireachbroadband.com/login.php"
class="btn btn-success btn-lg btn-block" target="_blank">My Account</a>
</p>
</div>
</div>
</div>
<!-- / FORM --></div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8 text-center">
<h3>High Speed Internet Access</h3>
<h4>Fast, Reliable, Affordable</h4>
<hr>
</div>
</div>
</div>
</div>
</header>
<!-- / HEADER -->
<br>
<script type="text/javascript">
<!--
document.login.username.focus();
//-->
</script>
</body>
</html>
答案 0 :(得分:0)
$document.getElementsByID("btn btn-success btn-lg btn-block").Click();
没有getElementsByID()
方法,因为ID 必须是唯一的。
此外,HTML代码不包含任何ID为btn btn-success btn-lg btn-block
的元素,而是包含此类定义的两个元素:
<button type="submit" class="btn btn-success btn-lg btn-block">Sign
In</button>
...
<p><a href="http://myaccount.hireachbroadband.com/login.php"
class="btn btn-success btn-lg btn-block" target="_blank">My Account</a>
</p>
假设您的意思是单击Sign In
按钮,这应该起作用:
$document.getElementsByTagName('button') |
? { $_.className -eq 'btn btn-success btn-lg btn-block' } |
select -First 1 |
% { $_.Click() }