以下是批次代码:
<# :
@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 ..出了什么问题?谢谢你的帮助!
答案 0 :(得分:0)
如果您只需要检索网页的HTML内容,请不要使用网络浏览器。而是使用invoke-webrequest
并访问生成的对象的content
属性。
invoke-webrequest -Uri http://www.google.ru/ | select-object -property content