以下是我的问题的背景:我有一个IE窗口打开几个标签(事实上,很多,大约50)。我正在浏览选项卡(使用ControlSend“^ i”)并希望获取当前显示的选项卡的innertext。但是,_IEPropertyGet($ global_ie,“innertext”)命令的每次都是第一个选项卡的innertext(IE创建的那个)。
我的问题是:如何获取当前标签的innertext?
我有一些限制:
其他信息:
使用Navigate2函数(带参数)创建选项卡 “0×1000”)
我使用ControlSend函数浏览选项卡(..., “^ $ⅰ)
我使用Autoit(以及任何自动化工具)都很新,所以我可能不了解一些基本的东西。
非常感谢你们!
[来自Autoit论坛的X-POST]
答案 0 :(得分:0)
我在Autoit论坛上的帖子已经回答了。这就解决了这个问题。要获取活动选项卡,我需要使用以下功能:
Func _IEGetActiveTab()
Local $hwnd, $i, $title, $oIE
; get first IE instance
$oIE = _IEAttach ("", "instance", 1)
If @error = $_IESTATUS_Success Then
; get window title
$hwnd = _IEPropertyGet($oIE, "hwnd")
$title = WinGetTitle($hwnd)
;strip off trailing browser text
$i = StringInStr($title, ' - ', 0, -1)
If $i > 0 Then
$title = StringLeft($title, $i - 1)
EndIf
$oIE = _IEAttach($title, "windowtitle")
EndIf
Return $oIE
EndFunc
添加一些延迟并使用_IEPropertyGet($active_tab, "innertext")
后,我就可以获得该页面的文字了。