2

有一些网站,例如 gmail.com 不显示源信息(即不能右键单击并选择“查看源”)

所以我试图将文档源读入一个文件,这样我就可以看到不同类型的元素(我希望最终能够将凭据和其他数据传递到网站中),但我遇到了困难。

这是代码:

$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("http://www.gmail.com")
$ie.visible=$true
$doc = $ie.document
Add-Content C:\output.txt $doc.all

C:\output.txt 为空,求救!

4

2 回答 2

4

使用的问题InternetExplorer.Application是您必须处理应用程序行为,例如,如果我运行您的代码,我也会得到一个空文件,因为在访问文档属性后加载了页面。

如果您使用的是 Powershell v3,则可以使用Invoke-WebRequestcmdlet 直接查询 Web 服务器,如下所示:

$webreq = Invoke-WebRequest http://www.gmail.com
$webreq.Content |Out-File C:\temp\output.txt

在 powershell v2 中,您可以使用System.Net.Webrequest.NET 类,如下所示:

$req = [System.Net.WebRequest]::Create("http://www.gmail.com/")
$resp = $req.GetResponse()
$reqstream = $resp.GetResponseStream()
$stream = new-object System.IO.StreamReader $reqstream
$result = $stream.ReadToEnd()
$result | out-file c:\temp\output2.txt
于 2013-08-26T22:40:26.223 回答
2

您可以查看任何网站的来源。我可以在 Chrome 上看到 Gmail 的源代码,使用右键单击的常规方法 -> 查看页面源代码。

您还可以打开 Developer Tools -> Elements 以查看源代码。

在 Chrome 中,您甚至可以使用 URL 之类view-source:https://mail.google.com/mail/u/0/?shva=1#inbox的方式查看源代码。

走从 Powershell 获取源代码的路线只会变得越来越复杂。

于 2013-08-26T18:27:31.720 回答