2017-08-16 8 views
0

特定のパターンに一致するURLをクリックする方法を理解しようとしています。たとえば、 :$ oLinksで$ OLINKは$パターンが含まれている場合Autoit - ウェブページ内のURLを検索してクリックする

#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 

は基本的に私は達成するために必要なもの、 である - それをクリックします。 上記のプログラムは何らかの理由で動作しません。

提案がありますか?

は、私はあなたがオブジェクトにStringInStrを使用できるかどうかわからないあなたに

+2

わからないすべてのリンクにStringInStrを使用する必要があります。代わりに 'StringInStr($ oLink.href、$ pattern)'を使ってみてください。 –

+0

それは働いた!どうもありがとうございます :) – user2518751

答えて

1

ありがとうございます。

は、使用してみてください:

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]は

関連する問題