1

このスクリプトを使用しています。

run "**C:\Program Files (x86)\Internet Explorer\iexplore.exe" http://SOMEURL.shtml**
Sleep, 10000
Send, %ROUTERUN%{tab}
Sleep, 1000
Send, %ROUTERPW%
Sleep, 1000
Send, {Tab}{Tab}{Space}
Sleep, 10000
Send, #Up
Send, {F5}
Sleep, 20000
Click, 1041, 575
Send, %CODE%
Sleep, 1000
Click, 1613, 983
Sleep, 1000
If WinExist Message from webpage
    WinActivate
Sleep, 1000
Click, 392, 153
Sleep, 1000
If WinExist Message from webpage
    WinActivate
Click, 219, 153
Sleep, 8000
Send, !{F4}
Sleep, 1000
FormatTime, TimeString,, LongDate
FormatTime, TimeString2,, Time
FileAppend, %VES1% %TimeString% %TimeString2% D:\Test.txt

達成したいことは、スクリプトが終了したら、スクリプトを再度実行することですが、今回は最初の行に別の URL を指定します。もちろん、スクリプトを 38 回コピー/貼り付けして手動で行を変更することもできますが、変数やループなどでこれを解決する方法はありますか?

ありがとう

4

2 に答える 2

1

これを行うには、配列とループを使用できます。この例ではAHK_Lを使用しています

arr := []
arr[1] := "www.google.com"
arr[2] := "yahoo.com"
arr[3] := "www.amazon.com" 

Loop % arr.MaxIndex()
{
    site := arr[A_Index]
    Run, "C:\Program Files (x86)\Internet Explorer\iexplore.exe" %site%
    ;;; Other code here ;;;
}
于 2012-12-06T17:26:51.297 に答える
1

Elliot からの回答に加えて、Google Chrome を使用すると、次のコードを使用してマウスの状態 (ポインターまたは砂時計) を監視することで、ページのダウンロードの準備ができているかどうかを「検出」できます。

while (A_Cursor = "AppStarting") ; While hourglass do sleep else continue
    Sleep, 500 ; Wait 500 ms then run while again...
Your next lines of code....

この方法では、ページがダウンロードされることを確認するためだけに、コードに長いスリープ タイマーを配置する必要はありません...

また、サイトごとにログインとパスワードを保存する場合は、「多次元」配列を使用できます

Arr[1,1] := "www.google.com"
Arr[1,2] := "abc@google.com"
Arr[1,3] := "s3cr3tp@ssw0rd"
Arr[2,1] := "yahoo.com"
Arr[2,2] := "abc@yahoo.com"
Arr[2,3] := "s3cr3tp@ssw0rd"

于 2012-12-07T13:57:20.333 に答える