用PowerShell捕获当前IE游览器内的网址
2015-06-23 22:45
323 查看
几乎99%的人现在打开电脑都会打开游览器,也相信大家很多时候都会遇到过工作到一半或者有事要关电脑的时候,游览器打开了很多网址但是还没来得及看完,很多人会选择手动保存一个个网址,即便你把它保存进收藏夹里也依然很麻烦,太耗时了。这些网址毕竟是临时的,如果放进收藏夹还会把收藏夹弄乱。所以如果能有个方法可以瞬间导出当前所有的IE游览器内的网址就会十分方便。
如下我们用PowerShell写了一个简单的方法,读取所有当前所有的IE地址,稍后我会一行行做讲解下:
下面我们来简单说明下实现原理,我发现进程管理器里的IE父进程里包含了多个子进程,每个子进程就是每个tab的相关信息。于是我打算获得当前的IE父进程,从中找出我们所需要获得信息。我使用如下方法新建一个对象,改方法可以获得当前所有应用程序的窗体对象:
如下我们用PowerShell写了一个简单的方法,读取所有当前所有的IE地址,稍后我会一行行做讲解下:
Function Get-IEURL { $IEObjs = @() $ShellWindows = (New-Object -ComObject Shell.Application).Windows() Foreach($IE in $ShellWindows) { $FullName = $IE.FullName If($FullName -ne $NULL) { $FileName = Split-Path -Path $FullName -Leaf If($FileName.ToLower() -eq "iexplore.exe") { $Title = $IE.LocationName $URL = $IE.LocationURL $IEObj = New-Object -TypeName PSObject -Property @{Title = $Title; URL = $URL} $IEObjs += $IEObj } } } $IEObjs } Get-IEURL运行后,会得到如下结果:
URL Title --- ----- https://www.baidu.com/ 百度一下,你就知道 http://www.qq.com/ 腾讯首页对比下游览器中的数据与我们预期的一致:
下面我们来简单说明下实现原理,我发现进程管理器里的IE父进程里包含了多个子进程,每个子进程就是每个tab的相关信息。于是我打算获得当前的IE父进程,从中找出我们所需要获得信息。我使用如下方法新建一个对象,改方法可以获得当前所有应用程序的窗体对象:
$ShellWindows = (New-Object -ComObject Shell.Application).Windows()我们接着通过如下循环遍历获得每个进程信息,只要窗体的全名等于iexplorer.exe,那这个就是我们要找的对象。
<strong>Foreach($IE in $ShellWindows) {</strong> $FullName = $IE.FullName If($FullName -ne $NULL) { $FileName = Split-Path -Path $FullName -Leaf <strong>If($FileName.ToLower() -eq "iexplore.exe") { }</strong> } <strong>}</strong>找到我们的IE对象后,我们就可以直接获取内部信息了:
Foreach($IE in $ShellWindows) { $FullName = $IE.FullName If($FullName -ne $NULL) { $FileName = Split-Path -Path $FullName -Leaf If($FileName.ToLower() -eq "iexplore.exe") { <strong>$Title = $IE.LocationName $URL = $IE.LocationURL</strong> $IEObj = New-Object -TypeName PSObject -Property @{Title = $Title; URL = $URL} $IEObjs += $IEObj } } }最后,把我们提取的属性信息放进我们自定义的对象里。
相关文章推荐
- SHELL编程学习笔记
- /etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc文件调用顺序解析
- wdcp的环境搭建shell脚本分析--lanmp.sh---lib/common.sh
- 我的bashrc,留而利值(不定期更新)
- linux 常用shell
- bash: ./configure: /bin/sh^M: 坏的解释器: 没有那个文件或目录
- wdcp的环境搭建shell脚本分析--lanmp.sh---lib/common.conf
- 浅谈获取shell中函数的返回值
- bash下的特殊符号与通配符
- linux 通过shell操作串口
- Linux shell dialog详解
- linux下shell脚本编程2
- linux下shell脚本编程2
- shell学习二十四天----提取开头或结尾数行
- shell基本
- Python下调用Linux的Shell命令
- wdcp的环境搭建shell脚本分析--install.sh
- zorka源码解读之通过beanshell进行插桩的流程
- zorka源码解读之Beanshell与zorka的交互实现
- Mac OS X10.9.5bash基本命令失效后的修复