我试图找出如何点击与特定模式匹配的网址。 例如:
#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 - 单击它。 由于某些原因,上述程序不起作用。
有什么建议吗?
谢谢
答案 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]