【问题标题】:Passing Variable value to _IENavigate Autoit将变量值传递给 _IENavigate Autoit
【发布时间】:2013-07-09 06:42:34
【问题描述】:

我有一个名为 $urls 的数组,其中包含 URL。我想在 For-loop 中使用 _IENavigate 来访问每个 URL,但不知道如何使用带有 _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

【问题讨论】:

    标签: autoit


    【解决方案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]

    【讨论】:

      【解决方案2】:

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

      只要您不必在循环内处理 Array 的索引,就不要在第一个元素中使用数组的大小,然后使用 For ... In ... loop

      For $url In $urls
          _IENavigate($mIE, $urls)
      Next 
      

      要删除第一个元素,您可以#include <Array.au3> 并使用_ArrayDelete($urls, 0)。但我宁愿在没有存储大小作为第一个元素的情况下读取包含 URL 的文件:

      $urls = StringSplit(StringStripCR(FileRead("urls.txt")), @LF, 2)
      

      - 所以你不必处理第一个元素,你已经被线分开了。您仍然可以使用UBound($urls) 了解成功情况。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-30
        • 2013-05-04
        • 2014-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多