AutoitはBasicのような文法で、IE、Chromeなどのブラウザを自動で操作することができる便利なツールです。その他にExcel、Libreofficeなども操作可能です。
画像認識でクリックも
もうIE古いので、この記事参考になりません。
IE操作の別記事
ユーザー関数「IE.au3」の初歩的な使い方を書いています。
IEのコマンド一覧が最後にあります。
_IE_Example() テスト用のHTMLを表示(サンプルを動かしてみる)
IE.au3の中にすべて含まれています。下のコードをコピーし動かせばOK
これで、Autoitが正常かどうか判断できます。
#include <IE.au3> Local $oIE = _IE_Example("basic")
IEが立ち上がり、「basic」はこのように表示されます、関数の実験ができます。
HTMLは「IE.au3」の中にあります。
サンプル:開いてるIEでYhooを開き、検索窓に「Autoit」と入れ、検索します
最初試した失敗作:
こちらで拾ったコードを少し改造したものです。
#include <IE.au3> Global $website_link = "https://www.yahoo.co.jp/" Global $TextToAdd = "Autoit" Global $IEpath = "C:\Program Files\Internet Explorer\iexplore.exe" If WinActivate("[CLASS:IEFrame]") Then WinSetState("[CLASS:IEFrame]", "",@SW_MAXIMIZE) Else Run ($IEpath , "" ) EndIf $oie = _IEAttach(WinGetHandle("[Active]"), "hwnd") If @error Then Run ($IEpath , "") EndIf _IENavigate($oie, $website_link) sleep(1000) Global $oTitle = _IEGetObjByName($oIE, "p") _IEFormElementSetValue($oTitle, $TextToAdd) Exit
このコードの説明:
(1)IEがあればそれを最大化し、なければ新しくIE立ち上げます
(2)検索窓に「Autoit」入力
そこで、止まり進みません。
_IEFormElementSetValue($oTitle, $TextToAdd) 文字入力し、Enterまで
入力はできてますが、最後にEnterキーが押されていないようなので動かないと思います。
試しに「Exit」の前に追加:
Send(“{Enter}”)
これでEnterはいきましたが、検索しません。検索文字を受け取っていません。
文字入ってるのに、認識してないようです。
調べると、上の関数うまく働かないときあるようです。
_IEAction($oTitle, “paste”) これで「Autoit」貼り付け
うまくいきました。
動いたコード:
#include <IE.au3> Global $website_link = "https://www.yahoo.co.jp/" ClipPut("Autoit") ;クリップボードにテキストを入れる Global $IEpath = "C:\Program Files\Internet Explorer\iexplore.exe" If WinActivate("[CLASS:IEFrame]") Then WinSetState("[CLASS:IEFrame]", "",@SW_MAXIMIZE) Else Run ($IEpath , "" ) EndIf $oie = _IEAttach(WinGetHandle("[Active]"), "hwnd") If @error Then Run ($IEpath , "") EndIf _IENavigate($oie, $website_link) sleep(1000) Global $oTitle = _IEGetObjByName($oIE, "p") _IEAction($oTitle, "paste") ;テキスト貼り付け Send("{Enter}") ;Enterキーを送る Exit
コメント