PowerShell保存IE网页文本

时间:2017-04-19 00:52:46

标签: powershell internet-explorer

我想保存一个网页(ASP),就像IE将其保存为文本文件一样。

我找到了this并尝试了:

$ie=New-Object -ComObject InternetExplorer.Application
$ie.Navigate($Page)
$ie.Document.execCommand("SaveAs", $false, "1.txt")

但是我收到了错误:

You cannot call a method on a null-valued expression.
At line:3 char:1
+ $ie.Document.execCommand("SaveAs", $false, "1.txt")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

我不确定我做错了什么。

如果我尝试通过

捕获页面
$web = New-Object Net.WebClient
$web | Get-Member
$web.DownloadString($Page) | Out-File "test.html"

我得到一个页面,但是这是一个网站创建的错误页面,让我知道链接无效,因此只有在我通过IE会话加载页面时它才真正找到该页面。

我真的只需要将IE页面自动捕获为文本文件,我希望不使用SendKey函数来实现。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

尝试Invoke-WebRequest:

Invoke-WebRequest -Uri "http://www.powershell.org" -OutFile "powershell.txt"