第一讲,介绍一下基本的东西
如何打开一个网页(太简单,加点要求)
1.打开百度,http://www.baidu.com , 在百度搜索里面输入”与 autoit3 亲密接触”,偶的blog;
2.窗口我要”800*600”,隐藏工具栏,而且大小不可更改;
3.偏执一点,不喜欢”百度一下,你就知道”,那我们改一下”我的百度,我做主”
4.状态栏里面显示信息”欢迎访问 与 autoit3 亲密接触 hi.baidu.com/iokey”
5.我不想看到整个过程,我只想看到结果,OK没问题.
首先我们打开一个浏览器,输入百度的网址,这里要用到_IECreate,这个函数的返回值是指向这个ie窗口的目标变量,参数” 0,1,1,0”,分别的意思是:不找已经存在的www.baidu.com的ie窗口,显示ie,等待网页载入完全然后返回,激活此ie窗口
#include <IE.au3>
$oIE = _IECreate ("www.baidu.com",0,1,1,0)
接下来我们对这个窗口进行一番设置,这里要用到_IEPropertySet,这个函数用来设置浏览器或者DOM元素的
_IEPropertySet ($oIE, "toolbar", 0) ;隐藏toolbar
_IEPropertySet ($oIE, "width", 800) ;设置ie宽800像素
_IEPropertySet ($oIE, "height", 600) ;设置ie高600像素
_IEPropertySet ($oIE, "resizable", 0) ;设置ie不可以调整大小
_IEPropertySet ($oIE, "title","我打开的百度,我做主") ;设置ie标题,取代原title
_IEPropertySet ($oIE, "statustext","欢迎访问 与 autoit3 亲密接触 hi.baidu.com/iokey") ;设置状态栏
设置完毕,我想在搜索框里面写入搜索内容,这里说明一点,当窗口显示的时候我们可以用send()/sendx()来发送,但是这样会遇到一个常见的问题,可能窗口不是激活状态,因为ie窗口里面的内容不是标准的空间,所以GUICtrlSetData失效了.不过对ie.au3有更好的方法,下面来看:
$oForm = _IEFormGetObjByName ($oIE, "f")
$oQuery1 = _IEFormElementGetObjByName ($oForm, "wd")
_IEFormElementSetValue ($oQuery1, "与 autoit3 亲密接触")
上面三句,分别是找到name为”f”的表单,在这个表单里面找到name为”wd”的表单元素,这里的wd代表的就是搜索框,最后将wd的内容设置为"与 autoit3 亲密接触"
这里还有朋友要问,能不能自动点击搜索按钮呢?当然可以的,而且我们还不是通过简单的send()回车键来实现,
_IEFormSubmit ($oForm,0)
这句就是提交$oForm表单, 0代表不等待网页载入完成立即返回.
这样还不够,那我们再玩点花样,目标是先让ie隐藏,设置啊,输入搜索串都是在隐藏状态下完成,显示出来的时候什么都完成了,首先我们让ie打开的时候就是隐藏状态,
$oIE = _IECreate ("www.baidu.com",0,0,1,0)
然后在适当的时候,我们让她显示出来,这里我们用到_IEAction(),这个函数模拟了我们对浏览器的大部分操作,如刷新,后退,退出等等,这里是让ie显示的,当然也有隐藏的功能.
_IEAction ($oIE, "visible")
总结一下,这里我们用到了几个函数;_IEPropertySet;_IECreate;_IEAction 这些都是和浏览器属性相关的,有着众多的参数可以来利用,基本上可以满足对浏览器的操作.这里大家可能要提出一些疑问,在输入百度搜索内容的时候提到的"f" "wd",是从哪里来的?
|