将变量值传递给_IENavigate Autoit

时间:2013-07-09 06:42:34

标签: autoit

我有一个名为$urls的数组,它包含URL。我想在_IENavigate循环中使用For来访问每个网址,但不知道如何将数组与_IENavigate一起使用。

这是我到目前为止所做的:

If Not _FileReadToArray("\urls.txt", $urls) Then
    MsgBox(4096, "Error", " Error reading log to Array. Error:" & @error)
    Exit
EndIf

For $u = 1 to $urls[0]
    _IENavigate($mIE, $urls)
Next

2 个答案:

答案 0 :(得分:1)

要访问数组元素编号N,请使用$aArray[N]

Local $aArray[6] = [5, "Hello", "World", "Foo", "Bar", "Goodbye"]

For $i = 1 To $aArray[0]
    ConsoleWrite(  $aArray[$i]   & @LF)
Next

因此,在上面的示例中,您希望在For ... Next循环中使用$urls[$u]

答案 1 :(得分:1)

Mattcorrect。他实际上正在调整你的代码结构并提供一个工作示例。

只要您不必处理循环内部Array的索引,就不要在第一个元素中使用数组的大小然后使用{{ 1}}:

For ... In ... loop

要删除第一个元素,您可以For $url In $urls _IENavigate($mIE, $urls) Next 并使用#include <Array.au3>。但我宁愿在文件中读取没有将大小存储为第一个元素的URL:

_ArrayDelete($urls, 0)

- 所以你不必处理第一个元素,你已经被行拆分了。您仍然可以使用$urls = StringSplit(StringStripCR(FileRead("urls.txt")), @LF, 2) 来了解成功。

只是一个提示:使用缩进来使代码更具可读性。