心血来潮,简单的测试一下Powershell的IE自动化。
图像界面:
访问一个内部的https网页,首先会弹出一个ssl信任证书的警告页面,点击确认之后进入登录界面,输入用户名和密码点击登录。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#输入url,用户名和密码
$Url
=
"https://10.2.1.18/admin/login.jsp”
$Username=”admin”
$Password=”ABCD”
#创建一个IE对象,可视,加载
$IE = New-Object -com internetexplorer.application;
$IE.visible = $true;
$IE.navigate($url);
#等待完全加载
while ($IE.Busy -eq $true)
{
Start-Sleep -s 2;
}
#通过url判断,如果是ssl警告界面,那么点击<a>标签继续下一页
if($IE.Document.url -match "
invalidcert
"){
Write-Host "
Bypass SSL Error Page
" -ForegroundColor Cyan
$link=$IE.Document.getElementsByTagName('A') | Where-Object{$_.id -eq 'overridelink'}
Write-Host "
Loading Login page
" -ForegroundColor Cyan
$link.click()
}
#等待完全加载
while ($IE.Busy -eq $true)
{
Start-Sleep -s 2;
}
#通过html的标签id来选择对应的元素,当然根据实际情况可以选择class,name或者tagname;然后给value赋值
$IE.Document.getElementById(“dijit_form_TextBox_0”).value = $Username
$IE.Document.getElementByID(“dijit_form_TextBox_1”).value=$Password
#最后在按钮上执行点击事件
$IE.Document.getElementById(“loginPage_loginSubmit_label”).Click()
Write-Host "
Submit the login" -ForegroundColor Cyan
|
登录成功
本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1900893,如需转载请自行联系原作者