自动 - 在网页中搜索URL并单击它

时间:2017-08-16 17:52:01

标签: autoit

我试图找出如何点击与特定模式匹配的网址。 例如:

#include <IE.au3>
#include <MsgBoxConstants.au3>

local $pattern = "/123/"
Local $oIE = _IECreate("www.example.com",0,1,1,1)
Local $oLinks = _IELinkGetCollection($oIE)

For $oLink In $oLinks

    If StringInStr($oLink, $pattern)  Then
        _IEAction($oLink, "click")
        sleep(700)
        _IEQuit($oIE)
        ExitLoop
    EndIf
Next

基本上我需要实现的是, 如果$ oLinks中的$ oLink包含$ pattern - 单击它。 由于某些原因,上述程序不起作用。

有什么建议吗?

谢谢

2 个答案:

答案 0 :(得分:1)

我不确定你是否可以在对象上使用StringInStr

尝试使用:

StringInStr($oLink.href, $pattern)

代替。

答案 1 :(得分:1)

您是否获得了这段代码的链接?

#include <Array.au3>
#include <Inet.au3>
local $pattern = "/123/"
$source = _INetGetSource('https://www.nytimes.com/')
$links = StringRegExp($source, 'href="(http.*?)"', 3)
_ArrayDisplay($links)

然后你只需要调整你的For Next循环并在每个链接上使用StringInStr [$ i]