更改脚本中的URL并再次运行脚本

时间:2012-12-06 14:52:57

标签: variables autohotkey

我们正在使用这个脚本;

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次并手动更改行,但也许有办法用变量或循环或类似的方法来解决这个问题?

感谢

2 个答案:

答案 0 :(得分:1)

您可以使用array和循环来完成此操作。此示例使用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 ;;;
}

答案 1 :(得分: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"