有一些网站,比如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的空白,帮助!
使用的问题InternetExplorer.Application
是,那么你必须处理的应用程序的行为,例如,如果我运行代码,我也得到一个空文件,因为文件属性被访问后,页面加载。
如果您在使用PowerShell v3,则可以使用Invoke-WebRequest
cmdlet来直接查询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
您可以查看任何网站源。 我能看到Chrome浏览器的Gmail源,使用鼠标右键的正常方法 - >查看网页源代码。
你也可以打开开发者工具 - >元素,看看源。
在Chrome中,你甚至可以用一个URL一样view-source:https://mail.google.com/mail/u/0/?shva=1#inbox
查看源代码。
去正从PowerShell中的源只会变得越来越复杂的路线。