如何从Autoit中的IE选项卡获取内部文本



这是我的问题的上下文:我有一个IE窗口,它打开了几个选项卡(事实上,很多,大约50个)。我正在浏览这些选项卡(使用ControlSend"^I"),并希望获得当前显示的选项卡的内部文本。但是,_IEPropertyGet($global_ie,"内部文本")命令每次都是第一个选项卡(创建ie的选项卡)的内部文本时。

我的问题是:如何获取当前选项卡的内部文本?

我有一些限制:

  • 我不能做图形化的事情,因为IE窗口将隐藏的
  • 我无法刷新/重新加载选项卡/页面(有50个选项卡,最终显示请求太多,被的反DDOS机器人捕获网站)
  • 我无法打开不同IE中的选项卡(选项卡太多,不确定我的电脑一次可处理50个IE)

其他信息:

  • 使用Navigate2功能创建选项卡(带有参数"0x1000")

  • 我使用函数ControlSend(,"^$i)

我刚开始使用Autoit(以及任何自动化工具),所以我可能不了解一些基本知识。

谢谢大家!

[Autoit论坛的X-POST]

我在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")之后,我能够获得页面的文本。

相关内容

  • 没有找到相关文章

最新更新