Autoit:UWSC以上の事ができます(画像認識も得意)、後継には一番

UWSCよりAutoit

現在、UWSCのサイト閲覧できない状態(閉鎖)。残念です。死亡説まで出ています。
AutoitはUWSCより、私は多機能でよくできていると思います。

AutoitはBasic言語のようなスクリプトで、IE,Chrome,Excel,LibreOffice,オンラインゲームなどを自動で動かせるようにできます。
多少、英語ができればHelpもたくさんあります。

 

  • 画像認識もできるの、ゲームの自動化もできます。
  • ユーザー関数を使って、Chrome・IEなどのブラウザを操作できます。
  • Excelの操作、グラフの作成などもできます。
  • GUI(Window)を作り、操作しやすくできます。
  • スクリプトをコンパイルしEXE(実行形式)にできます。

 

スポンサーリンク

Autoit:UWSCより、優れている点

画像認識PNG,jpg,bmpでOK

:_関数の引数

_ImageSearch(“画像ファイル名”, 0(左上)or1(真中), $x, $y, 許容値)

 

どの画像ファイルが使えるのかよくわかりません、png/jpg/bmpは大丈夫です。

 

Excel、LibreOffice(calc)を操作できます(無料)

 

 

GUI(ウィンドウ)作成も無料で出来ます。

 

● Autoitで作ったGUIです。

Autoitでカウンター

● AutoitのサンプルでついているGUI

サンプルのGUI

スクリプトを実行ファイル(EXE)にすることできる。

 

古いバージョンなら、マクロの記録もできます

● 欠点:マクロの自動記録が出来ないこと(古いバージョンでは出来たようです)

使えるかどうかは、詳しく試していません。
Autoit record

 

 

:_Autoit サンプル一覧

 

:_ UWSCをAutoitに書き換え:IE操作

:_ UWSCをAutoitに書き換え:Excelの操作

 

UWSC => Autoit に書き換え例

 

アプリを起動する (ソフトを立ち上げる)

UWSC  EXEC(“アプリパス+ファイル名”)
Autoit  Run(“アプリパス+ファイル名”)

uwsc: windowsの計算機を立ち上げる(EXEC)

EXEC("calc.exe")

Autoit: Exec —> Run に変える(大文字・小文字は区別されるので正確に)

Run("calc.exe")

計算機

マウス移動&左クリック

UWSC BTN(ボタン,[状態,x,y,ms])
Autoit MouseClick(“Left”,x座標, y座標)

● UWSC参考サイト: UWSCで自動化 超速!! Windows マクロテクニック 掲載スクリプト一覧 – IZAGNE

ボタン:LEFT, RIGHT, MIDDLE, WHEEL(ホイール回転)
状態:CLICK(0:デフォルト),DOWN(1),UP(2)

BTN(LEFT, CLICK, 640, 512)

● Autoit : MouseClick ( “button” [, x, y [, clicks [, speed ]]] )

MouseClick ( "Left", 640, 512)

 

Autoitよりも、もっと上を目指したいなら
人工知能・機械学習 脱ブラックボックス講座

(3) window をアクティブに

UWSC CTRLWIN( ID, 命令 )
Autoit WinActivate ( “title” [, “text”] )

ブラウザで「Yahoo」を開いておきます。

● UWSC: CTRLWIN(“”,ACTIVATE)

CTRLWIN(GETID("Yahoo"), ACTIVATE)

● Autoit : WinActivate(“”)

WinActivate("Yahoo")

Autoitでブラウザを操作

 

(4)ダイアログ/表示 MSGBOX()

● UWSC : MSGBOX(“”)

MSGBOX("頑張れ日本")

●  Autoit : MsgBox(“”,””,””)  引数3個必要

MsgBox("","","頑張れ日本")

 

 

notepadを起動する

 

Exec("Notepad") //windowsが「notepad」の場所知っているので、これだけで動く

Windowsが「Notepad」のパス知っているので簡単に動かせます。

他のアプリは、パスも指定しないとだめです。

Run("Notepad") ;; Notepadを開く

AutoitでNotepadを操作

UWSCは拡張子「.uws」  //  Autoitは「.au3」です。

コメント // の前に ;セミコロンを付けるとAutoitのコメントになります。

UWSCサンプル #5

 

「開いているウインドウを全て閉じる」をAutoitで

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Retrieve a list of window handles.
    Local $aList = WinList()

    ; Loop through the array displaying only visable windows with a title.
    For $i = 1 To $aList[0][0] ;;[0][0]には、個数が入っている
        If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
			;;BITAND ビットごとの論理積を求める
            If $aList[$i][0]<>"Program Manager" Then
            		WinClose($aList[$i][0])
            	EndIf
        EndIf
    Next
EndFunc

間違いありましたら、指摘下さい。

 

変数がオブジェクト型かどうか調べる

#include <IE.au3> ;;サンプルHTMLが中にある

Local $oSh=ObjCreate("Shell.Application")
MsgBox($MB_OK,"sam",IsObj($oSh))

IsObj(X) : Xがオブジェクトなら、「1」を返します。他は「0」

マウスの座標を調べる

while 1
    $mXY=MouseGetPos()
    ToolTip("X="&$mXY[0]&" / "&"Y="&$mXY[1],$mXY[0]+50,$mXY[1]+50,"samTest")
    Sleep(700)
WEnd

Sleepが早いと、止めることできなくなります。

新しいファイルを作成する

FileOpen(@ScriptDir & "\newFile.txt",1)
;@ScriptDir : スクリプトがあるフォルダ
;("",1) 書き込みモード=ファイル作成

最後の「1」がファイル作成のオプションです。

Autoit内部の変数

@ScriptDir   : 実行するAu3スクリプトのあるフォルダ

@SystemDir : C:\Windows\System or \System32

@WindowsDir  : Windowsのフォルダ

@WorkingDir

コメント

  1. S.Aoyagi より:

    すみません質問です。
    AutoIt とChrome またはFirefox にて証券会社への注文を自動化できますか。
    csv形式の表にした、銘柄コード、株数、指値金額等を次々にフォームに入力し、サイトのボタンなどを押す機能です。
    UWSC とIE でやってきましたが、IE の今後を思うと不安でありますし、UWSC の作者さんもどうかなってしまいましたので、新しい自動化方法を検討中です。

    • sam より:

      Autoitよりも、Chromeの拡張機能を使ったほうがいいと思いますが。
      Autoitだとブラウザの入力箇所特定するのが、座標か、画像認識になると思います。
      見ないと何がいいか一概には言えません。

      • S.Aoyagi より:

        レスありがとうございます。
        座標か、画像ですか。ちょっと無理そうです。
        htmlのタグを判断できれば・・・と思ったものですからつい。
        どうも失礼しました。

  2. sam より:

    webDriverを使ってできるようですが、説明サイトが英語のみです。今、勉強中です

タイトルとURLをコピーしました