【基础教学】利用遍历子元素来获取文件列表

山海师 2018-12-22 8348

我们可以利用遍历子元素命令以及遍历数组命令来获取到一个目录内的文件夹以及文件

步骤一:使用遍历子元素命令,抓取整个文件夹,作为父级元素,如下图

_【基础教学】利用遍历子元素来获取文件列表


步骤二:使用遍历数据命令来遍历步骤一中获取到的元素集合

_【基础教学】利用遍历子元素来获取文件列表


步骤三:再循环中把value作为子元素的变量,通过获取元素文本命令来获取出每个子元素的文本(也就是文件夹名称)

_【基础教学】利用遍历子元素来获取文件列表


最终效果:

_【基础教学】利用遍历子元素来获取文件列表


上传的附件:
最新回复 (14)
  • PKAV 2018-12-24
    2
    报如下错误,如何解决:
    [12:28:06]遍历文件夹.task:24:Element not found.
    12:28:06]StringLib
  • 游客 2018-12-24
    3
    是没有找到元素,按照教学重新获取一下元素就行了
  • 哒哒 2019-2-1
    4

    但就运行速度来说的话貌似这样写会更快。。

    dim arrElement = ""
    #icon("@res:8hjppbfk-7voo-g12p-hucj-hc216ahqf2tu.png")
    arrElement = UiElement.GetChildren({"wnd":[{"app":"explorer","cls":"CabinetWClass","title":"脚本"},{"cls":"ShellTabWindowClass","title":"脚本"},{"cls":"DUIViewWndClassName"},{"cls":"SHELLDLL_DefView","title":"ShellView"},{"cls":"DirectUIHWND"}]},{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})
    For Each key, value In arrElement
    TracePrint(value["ctrl"][0]["name"])
    Next

  • 哒哒 2019-2-1
    5
    直接取对应的字典和数组位置就结了呗
  • 哈哈秀 2019-2-18
    6

    利用子元素获取有一个问题:如果打开窗口过小,或内容过多时,没有显现出来的内容就无法获取。只能取到显示出来内容。

    如果有没有显现出来的内容时,第一个数就报0。
    对文件夹和文件操作,还是原来按键的命令方便。

  • 李sir_286550 2020-6-7
    7
    哒哒 但就运行速度来说的话貌似这样写会更快。。dim arrElement = ""#icon("@res:8hjppbfk-7voo-g12p-huc ...
    最后输出value["ctrl"][0]["name"]这三个命令如何理解?有劳指点谢谢!
  • 阮壬宏 2020-6-9
    8
    同问最后输出value["ctrl"][0]["name"]这三个命令如何理解?哪位大神可以解答一下?
  • 蔡_52407 2020-6-9
    9
    获取文件夹列表不就可以了?
  • 花好月圆 2020-10-22
    10
    你好,问下 怎么用这个利用系统默认工具打开对应文件呢?
  • 霍晓 2020-10-26
    11
    import os
    def func(fileDir):
        fileDir = fileDir  # 以分隔符连接路径名
        fileList = os.listdir(fileDir)
        for file in fileList:
            print(file)

    if __name__ == "__main__":
        func('I:/UiBot Store')
  • 霍晓 2020-10-26
    12
    调用python来实现比较简单,filelist循环可以获得所有的文件
  • 寒秋_387933 2021-5-18
    13
    如何把获取到的文件名称,写入到Excel中?
  • 新兴阳光 2022-4-15
    14
     #icon 这句是什么意思
  • +86 159******97 2023-3-21
    15
    子元素层级是{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200}什么意思
返回
发新帖