[已解决]请问:如何能获取当前浏览器打开的所有窗口的网址呢?
本帖最后由 rain 于 2011-9-8 21:06 编辑使用_IEAttach()只能匹配到一个浏览窗口,我想获取到当前所有窗口的网址,搜了半天论坛没有发现这样的案例,特此请教!谢谢!悬赏 仔细看看_IEAttach()的帮助,还有里面的例子 ; *******************************************************
; 实例 5 - 创建一个对象引用到所有当前浏览器实例数组
; 第一个数组元素将包含发现的事例
; *******************************************************
;
#include <IE.au3>
Dim $aIE
$aIE = 0
$i = 1
While 1
$oIE = _IEAttach ("", "instance", $i)
If @error = $_IEStatus_NoMatch Then ExitLoop
ReDim $aIE[$i + 1]
$aIE[$i] = $oIE
$aIE = $i
$i += 1
WEnd
MsgBox(0, "浏览器中发现", "浏览器的实例数在数组: " & $aIE) ; *******************************************************
; 实例 5 - 创建一个对象引用到所有当前浏览 ...
骗子 发表于 2011-9-8 17:45 http://www.autoitx.com/images/common/back.gif
谢谢,说实话我没有看懂。试过没有成功 观望中ing
看看高手的解决方案 回复 3# 骗子
运行这个代码得到是打开的浏览器窗口数! $oShell=ObjCreate("shell.application")
For $oWin In $oShell.windows
If ObjName($oWin.document)=="DispHTMLDocument" Then ConsoleWrite($oWin.locationurl&@CRLF)
Next
kevinch 发表于 2011-9-8 20:40 http://www.autoitx.com/images/common/back.gif
绝对的高手!第二次帮我解决了问题。谢谢,30分奉上! 本帖最后由 骗子 于 2011-9-8 21:59 编辑
回复 6# 卫和谐
只是把帮助帖上来而已
稍微改改不就能得到地址了?
#include <IE.au3>
#include <array.au3>
Dim $aIE
$aIE = 0
$i = 1
While 1
$oIE = _IEAttach ("", "instance", $i)
If @error = $_IEStatus_NoMatch Then ExitLoop
ConsoleWrite ($i&"url="&_IEPropertyGet ($oIE, "locationurl")&@CRLF)
ReDim $aIE[$i + 1]
$aIE[$i] = _IEPropertyGet ($oIE, "locationurl")
$aIE = $i
$i += 1
WEnd
_ArrayDisplay ($aIE) 回复卫和谐
只是把帮助帖上来而已
稍微改改不就能得到地址了?
#include
#include
Dim $aIE[ ...
骗子 发表于 2011-9-8 21:52 http://www.autoitx.com/images/common/back.gif
厉害!谢谢,同样给分 学习学习,{:face (356):} 论坛的分为真的很好,有问题提出来有人热心的回答 唉,找了半天,研究了半天还是没有弄出来。例子能读出所有的网址,哪一个是当前正打开的网址的啊?想做个一键收藏网址的,就卡这了。 唉,找了半天,研究了半天还是没有弄出来。例子能读出所有的网址,哪一个是当前正打开的网址的啊?想做个一 ...
ahphsautoit 发表于 2012-4-8 11:44 http://www.autoitx.com/images/common/back.gif#include <IE.au3>
$a = _GetActiveURL()
MsgBox(0, $a, $a)
Func _GetActiveURL()
;afan提示: 获取当前Ie窗口URL及标题
Local $hWin = WinActivate('')
Local $oIE = _IEAttach($hWin, 'Embedded', 1)
If @error = $_IEStatus_NoMatch Or Not IsObj($oIE) Then Return SetError(1, '', '')
$url = _IEPropertyGet($oIE, 'locationurl')
If $url = '' Then Return SetError(2, '', '')
Local $a = [$url, _IEPropertyGet($oIE, 'title')]
Return $a
EndFunc ;==>_GetActiveURL 回复 14# afan
谢谢!
我刚刚已经用了个笨方法解决了,在获取多标签的每一个网址时,检测对应对一个网址的标题名,用得到的标题名来检测IE窗口是否存在,如果存在则刚刚得到的URL就是自己想要获取的。呵呵,非常感谢了!
页:
[1]
2