AutoIt自动化编程(4)

简介: 五、自动化操作轻松入门系列5 控件操作 然而,在真正实现自动化时仅靠上面的技术往往难以达到预期目的。下面开始进入最为重要的控件操作。 1、设置文本 在安装软件的过程中用户往往需要提供一些必需信息,比如安装目录。

五、自动化操作轻松入门系列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

相关文章
|
5月前
|
Web App开发 人工智能 自然语言处理
【人工智能时代】AI赋能编程 | 自动化工具助力高效办公
【人工智能时代】AI赋能编程 | 自动化工具助力高效办公
【人工智能时代】AI赋能编程 | 自动化工具助力高效办公
|
2月前
|
数据采集 运维 Devops
探索Python编程之美:从基础到进阶自动化运维的变革之路:从脚本到DevOps
【8月更文挑战第30天】在数字化时代的浪潮中,编程已经成为一门重要的技能。Python以其简洁明了的语法和强大的功能,成为了许多初学者的首选编程语言。本文将通过浅显易懂的语言,带领读者从Python的基础语法出发,逐步深入到面向对象编程、网络爬虫开发以及数据分析等高级应用,旨在帮助初学者构建扎实的编程基础,并激发他们进一步探索编程世界的热情。文章不仅分享实用的编程技巧,还将探讨如何将编程知识应用于解决实际问题,以期培养读者的问题解决能力和创新思维。
|
2月前
|
机器学习/深度学习 运维 Ubuntu
自动化运维:使用Ansible简化日常任务探索Python编程之美:从基础到进阶
【8月更文挑战第28天】在快速迭代的软件开发周期中,运维工作的效率至关重要。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常的运维任务,通过代码示例展示如何配置和使用Ansible,以及它如何帮助提升工作效率和减少人为错误。文章将深入讨论Ansible的核心概念,包括Playbooks和Tasks,并探讨如何利用这些概念进行高效的系统管理。 【8月更文挑战第28天】在数字时代的浪潮中,编程已成为一门艺术和科学。本文将通过Python语言的镜头,带领读者踏上一段从零基础到熟练运用的旅程。我们将一起探索Python的简洁语法、强大库支持以及它在数据科学、网络开发等领域的应用。无论你
|
2月前
|
存储 测试技术 数据库
Python接口自动化测试框架(练习篇)-- 函数编程(一)
本文通过实际的编程练习,讲解了面向过程编程的概念和应用,包括如何定义函数、处理文件读写以及实现用户注册功能,最终将这些过程封装成函数,体现了Python作为脚本语言的面向过程编程特性。
17 2
|
2月前
|
测试技术 Python
Python接口自动化测试框架(练习篇)-- 函数编程(二)
本文通过具体的编程练习,深入探讨了Python中的函数编程,包括如何定义函数、使用参数和返回值,以及函数式编程的技巧和应用,如使用lambda表达式和递归函数解决实际问题。
19 1
|
3月前
|
运维 中间件 PHP
深入理解PHP中的中间件模式自动化运维之脚本编程实践##
【7月更文挑战第31天】在PHP开发中,中间件模式是一种强大的设计模式,它允许开发者在请求处理流程中注入自定义的处理逻辑。本文将通过实际代码示例来探讨如何在PHP项目中实现和使用中间件,以及这种模式如何提升应用程序的可维护性和扩展性。 【7月更文挑战第31天】 在现代IT运维管理中,自动化不再是可选项,而是提高生产效率、确保服务质量的必需品。本文将通过Python脚本编程的角度,探讨如何利用代码简化日常运维任务,提升工作效率。我们将从实际案例出发,逐步剖析自动化脚本的设计思路、实现过程及其带来的益处。 ##
22 0
|
4月前
|
机器学习/深度学习 人工智能 算法
人工智能在机器人编程与自动化控制中的应用与发展
人工智能在机器人编程与自动化控制中的应用与发展
137 0
|
5月前
|
设计模式 并行计算 算法
代码之韵:高效编程的艺术深入理解软件自动化测试框架的设计与实现
【5月更文挑战第29天】在数字世界的构建中,编程不仅仅是一门科学,更是一种艺术。本文将探讨如何通过理解编程的本质、掌握设计模式、运用算法智慧以及持续的性能优化过程,来提升编程效率和代码质量。我们将从宏观的架构设计到微观的代码细节,剖析那些让代码更加优雅、高效且易于维护的技巧与实践。
|
5月前
|
安全 机器人
ABB PLC自动化可编程逻辑控制器PLC AC500型 CPU
ABB PLC自动化可编程逻辑控制器PLC AC500型 CPU
|
5月前
|
数据可视化
ABB PLC自动化可编程逻辑控制器PLC AC500型
ABB PLC自动化可编程逻辑控制器PLC AC500型