Windows 10 powershell IE 11对象

时间:2017-02-12 12:26:02

标签: powershell windows-10 internet-explorer-11

以下是批次代码:

<# :
  @echo off
    powershell /nop /ex bypass^
    "&{[ScriptBlock]::Create((gc '%~f0') -join [Char]10).Invoke()}"
  exit /b
#>
$ie = new-object -comobject InternetExplorer.Application
$ie.Visible = $false
$ie.Silent = $true
while($ie.Busy -ne $false) {start-sleep -m 100} 
$ie.Navigate2("https://www.google.ru/", 4)
while($ie.Busy -ne $false) {start-sleep -m 100} 
while($ie.ReadyState -ne 4) {start-sleep -m 100}
start-sleep -m 500
$ie.Stop()
echo $ie.Document.body.innerHTML > ".\html.txt"
$ie.Quit()

此代码在Windows 7 x64,Windows 8 x64中运行良好,但在Windows 10 x64中无效。 Microsoft EDGE浏览器未使用,IE 11被选为默认浏览器。我试图以管理员和调用者的身份运行bat-file ..出了什么问题?谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

如果您只需要检索网页的HTML内容,请不要使用网络浏览器。而是使用invoke-webrequest并访问生成的对象的content属性。

invoke-webrequest -Uri http://www.google.ru/ | select-object -property content