有些网站(例如gmail.com)不显示源信息(即您无法右键单击并选择“查看源代码”)
所以我试图将文档源读入文件,这样我就可以看到不同类型的元素(我希望最终能够将凭据和其他数据传递到网站中),但我遇到了困难。< / p>
以下是代码:
$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是空白的,帮助!
答案 0 :(得分:2)
您可以查看任何网站的来源。我可以使用正常的右键单击方法 - &gt;在Chrome上查看Gmail的来源。查看页面来源。
您还可以打开开发者工具 - &gt;要看源的要素。
在Chrome中,您甚至可以使用view-source:https://mail.google.com/mail/u/0/?shva=1#inbox
之类的网址来查看来源。
从Powershell获取源代码的路径将变得越来越复杂。
答案 1 :(得分:2)
使用InternetExplorer.Application
的问题是你必须处理应用程序行为,例如,如果我运行你的代码我也得到一个空文件,因为访问了document属性后加载的页面。
如果您使用的是Powershell v3,则可以使用Invoke-WebRequest
cmdlet直接查询网络服务器,如下所示:
$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