美文网首页
Powershell操作IE实现网站登录

Powershell操作IE实现网站登录

作者: Rickywu1113 | 来源:发表于2018-11-30 16:46 被阅读0次

虽然curl也可以实现,但由于网站有cookies,偶尔会失败,所以研究了用Powershell控制IE模拟人操作实现网站登录认证

$url = "http://web.com/login.html"
$username="username"
$password="password"
$ie = new-object -com "InternetExplorer.ApplicationMedium"
$ie.visible=$false
$ie.navigate("$url")
while($ie.ReadyState -ne 4) {start-sleep -m 100}
$ie.Document.IHTMLDocument3_getElementById("account").value = $username
$ie.Document.IHTMLDocument3_getElementById("acc_pass").value = $password
$ie.Document.IHTMLDocument3_getElementById("account_login_checkbox").checked=$true
$ie.Document.IHTMLDocument3_getElementById("account_login_btn").click()
start-sleep -m 1000
$ie.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($ie)
Remove-Variable ie

while($ie.ReadyState -ne 4) {start-sleep -m 100} 这句是控制等待IE载入页面

如果缺少这三行,会导致对象没有完全清理,再次运行脚本会报错计划关机已设置无法创建对象
ie.Quit() [System.Runtime.Interopservices.Marshal]::ReleaseComObject(ie)
Remove-Variable ie
由于Windows 10下powershell通过ID获取网页元素存在问题,通过$ie = new-object -com "InternetExplorer.ApplicationMedium"可以解决,但首先要在注册表新增默认值

Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium]
 
[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium\CLSID] 
@="{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}"

并且只能通过$ie.Document.IHTMLDocument3_getElementById()这种方式获取页面元素
另外需要在兼容性视图设置中取消两个复选框。

相关文章

  • Powershell操作IE实现网站登录

    虽然curl也可以实现,但由于网站有cookies,偶尔会失败,所以研究了用Powershell控制IE模拟人操作...

  • neo4j创建数据库入门,Cypher语句入门

    neo4j首次登录 首次登录需要先用ie浏览器登录,用ie修改密码后,可以用chrome登录 入门操作 ●单行编辑...

  • Selenium IEDriverServer sendkeys

    今天学习selenium库,测试操作IE登录网站出现一个匪夷所思的问题……,最后曲线救国,调用JS代码解决……

  • Selenium 实践(一)-图片验证码登录

    一. 实现场景 1. 要想对一个网站内容进行浏览或操作,一般都需要进行登录操作,只有登录成功后才能进行后续流程,所...

  • Apache安全--用户登录验证

    用户登录验证登录验证介绍登录验证实现一、登录验证当用户访问网站或者网站某个目录时,如果希望用户提供授权才能登录,那...

  • qq互联--qq快捷登陆

    1、介绍 QQ登录接口。作用是实现QQ直接登录某些网站,简化用户登录、注册流程。 现在有很多大型网站都在使用QQ互...

  • 4月4日网站变灰实录

    4月4日网站变灰记录 基本都是通过 grayscale 来实现的 都不支持 IE 11 但在 IE 11 的情况下...

  • selenium学习笔记17——添加cookie实现登录

    自动化测试时,系统需要先登录,然后才能进行其他操作。 【旧的解决方案】 每次打开ie浏览器可以保存登录状态,每次自...

  • monkey实现登录操作

    adb connect 127.0.0.1:62001查看设备上安装的包名:adb shell pm list p...

  • Powershell

    使用 Windows PowerShell 编写脚本 Powershell 是运行在windows机器上实现系统和...

网友评论

      本文标题:Powershell操作IE实现网站登录

      本文链接:https://www.haomeiwen.com/subject/dwihcqtx.html