2017-08-16 91 views
0

我想弄清楚如何點擊匹配特定模式的網址。 例如: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 

基本上我需要實現的是, 如果$ OLINK在$ oLinks包含$模式 - 點擊它。 上述程序出於某種原因不起作用。

有什麼建議嗎?

謝謝

+2

不知道,如果你可以用'StringInStr'的對象。嘗試使用'StringInStr($ oLink.href,$ pattern)'代替。 –

+0

它工作!非常感謝 :) – user2518751

回答

1

我不知道,如果你可以在對象上使用StringInStr

嘗試使用:

StringInStr($oLink.href, $pattern) 

代替。

1

你是否使用這段代碼獲得了鏈接?

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

然後你只需要去適應你的下一個循環,並使用StringInStr上的各個環節[$ i]