• AutoIt自动化编程(4)【转】


    五、自动化操作轻松入门系列5

    控件操作 
    然而,在真正实现自动化时仅靠上面的技术往往难以达到预期目的。下面开始进入最为重要的控件操作。 
    1、设置文本 
    在安装软件的过程中用户往往需要提供一些必需信息,比如安装目录。很多用户并不喜欢把软件安装到默认的C盘而更愿意把它们安装到别的地方,那么脚本究竟提供了什么方法能让我们修改如下图所示的路径呢?


    我们先用上文中提到的AutoIt3 Window Spy 或 AutoIt Window Info 来获得这个路径的编辑框的信息,假设这个窗口的标题为Setup foobar,该路径编辑框的类名是Edit1,而我们需要把它改成“D:foobar2000”,接下来就可以使用下列命令/函数来设置它的文本了:
    AHK:
    ControlSetText [, 目标控件, 新文本, 窗口标题, 窗口文本, 排除标题, 排除文本]
    AU3:
    ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本")
    具体用法如下:
    【示例5.1.1】
    AHK:
    ControlSetText, Edit1, D:foobar2000, Setup foobar
    AU3:

    ControlSetText("Setup foobar", "", "Edit1", "D:foobar2000")

    2、选中和取消选中单选框和复选框项目
    有时程序为了满足用户的个性化设置而需要用户提供更多的信息,我们经常会遇到这样的情况:


    如何保证选中所需项目并取消某些项目呢?
    下面先来介绍AHK和AU3中用来对控件进行各种属性设置的命令/函数:
    AHK:
    Control [, 命令, 值, 目标控件, 窗口标题, 窗口文本, 排除标题, 排除文本]
    AU3:
    ControlCommand ( "窗口标题", "窗口文本", 控件ID, "命令", "选项")

    其中,“命令”就是让我们指定要进行何种设置的参数。对这些单选框/复选框按钮来说,适用的命令是“Check”和“UnCheck”。
    假设这个窗口的标题是为Setup foobar,我们打算进行下来操作:
    选中它的“桌面”复选框(Button5)、取消选中“快速启动栏”复选框(Button7);
    选中“0.7x”单选框(Button14)。

    那么具体的用法示例如下:
    【示例5.1.2】
    AHK:
    Control, Check, , Button5, foobar
    Control, UnCheck, , Button7, foobar
    Control, Check, , Button14, foobar
    AU3:

    ControlCommand("foobar", "", "Button5", "Check", "")
    ControlCommand("foobar", "", "Button7", "UnCheck", "")
    ControlCommand("foobar", "", "Button14", "Check", "")

    2、选择下拉列表的项目
    相信你肯定遇到过下面这种情况:


    问题又来了:如何选中自己需要的项目?
    答案仍是使用上面提到的命令/函数。对这种控件而言,AHK适用的命令是“Choose, N”和“ChooseString, String”,分别表示选中第N个项目和选中与字符串String匹配的项目;而AU3适用的命令则是“SetCurrentSelection, N”和“SelectString, String”,分别表示选中第N+1(注意是从零开始表示!)个项目和选中与字符串String匹配的项目。

    假设我们要选中第五个项目“简体中文”,那么具体的用法示例如下:

    【示例5.1.3】
    AHK:
    Control, Choose, 5, ComboBox1, Installer
    Control, ChooseString, 简体中文, ComboBox1, Installer
    AU3:
    ControlCommand("Installer", "", "ComboBox1", "SetCurrentSelection", 4)
    ControlCommand("Installer", "", "ComboBox1", "SelectString", "简体中文")


    详细出处参考:http://www.jb51.net/article/14870_5.htm

  • 相关阅读:
    Java下的tinylog日志打印
    rmi的调用
    linux下hex转ascii
    CSP攻略
    ThinkPHP5代码执行的简单分析
    MySQL UDF(User Defined Function)提权
    与邮件协议相关的端口
    常见哈希算法的密文格式
    ThinkPHP 5.0.x 反序列化漏洞 PoC
    Tomcat AJP协议文件包含漏洞(CVE-2020-1938)
  • 原文地址:https://www.cnblogs.com/abcd19880817/p/7161433.html
Copyright © 2020-2023  润新知