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 次。当然我可以复制/粘贴脚本 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 回答