Autoit3操作网页实现自动化
2015-04-06 11:30
525 查看
Autoit3 本身有内置的用户自定义函数IE.au3,只限于IE浏览器,如果是Firefox浏览器需要另外自定义函数。
找了很多资料发现有个FF.au3的自定义函数,下载地址 http://www.autoitscript.com/forum/topic/95595-ffau3-v0601b-10/
这个是对Firefox浏览器的自定义函数库,这样就可以通过Firefox访问网页。
实现步骤和发现的问题:
1. 下载FF.au3,放在脚本同目录下,也可以放在AutoIt3安装目录下的,比如: C:\Program Files\AutoIt3\Include。
2. 在Firefox浏览器上需要安装一个插件 MozRepl,下载地址 https://addons.mozilla.org/en-US/firefox/addon/mozrepl/
点击直接下载,Firefox会提示安装,安装完了之后要打开,方法是:【工具】->【MozRepl】->【Start】,每次打开浏览器一定要start,否则不能通讯。
MozRepl 会打开一个端口,默认4242,这样AutoIt3脚本通过windows api 实现与Firefox浏览器通讯,操作浏览器实现自动化。
3.编写脚本,从在线文档上面copy一段代码,FF.au3在线文档地址 http://english.documentation.ff-au3.thorsten-willert.de/
从在线文档上面copy第一个demo运行
#include "FF.au3"
_FFStart("http://ff-au3-example.thorsten-willert.de/")
If _FFIsConnected() Then
Sleep(2000)
_FFAction("presentationmode", True)
Sleep(2000)
_FFOpenURL("http://www.baidu.com")
Sleep(2000)
_FFAction("back")
_FFAction("presentationmode", False)
Sleep(2000)
_FFOpenURL("chrome:bookmarks")
Sleep(2000)
_FFAction("alert", "Bye bye ...")
_FFQuit()
EndIf
发现报错:
! Au3check doesn't support input files encoded as UTF8 with BOM: D:\AutoIt\FF.au3
"D:\AutoIt\ftest.au3"(3,54) : error: _FFStart(): undefined function.
..........
这个问题是因为FF.au3这个文件的编码是UTF8 with BOM,这是官方推荐的编码格式,但是Au3check不知道为什么不支持,解决的办法是在文件头上面加上:
#AutoIt3Wrapper_Run_Au3Check=n 。
4. 加上上面那句好了,可以编译没有报错,可是不能正常工作,查看控制台信息,显示错误信息:
__FFStartProcess ==> General Error: Error reading registry entry for FireFox.
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe
Error from RegRead: 1
.......
读注册表错误,查找FF.au3源码4329行 $sHKLM &= 'Mozilla\Mozilla Firefox',发现在少了一个"\",导致读取路径错误,不知道为什么会有这样的错误,难道老外写的这个只能在英文操作系统上面使用。
找了很多资料发现有个FF.au3的自定义函数,下载地址 http://www.autoitscript.com/forum/topic/95595-ffau3-v0601b-10/
这个是对Firefox浏览器的自定义函数库,这样就可以通过Firefox访问网页。
实现步骤和发现的问题:
1. 下载FF.au3,放在脚本同目录下,也可以放在AutoIt3安装目录下的,比如: C:\Program Files\AutoIt3\Include。
2. 在Firefox浏览器上需要安装一个插件 MozRepl,下载地址 https://addons.mozilla.org/en-US/firefox/addon/mozrepl/
点击直接下载,Firefox会提示安装,安装完了之后要打开,方法是:【工具】->【MozRepl】->【Start】,每次打开浏览器一定要start,否则不能通讯。
MozRepl 会打开一个端口,默认4242,这样AutoIt3脚本通过windows api 实现与Firefox浏览器通讯,操作浏览器实现自动化。
3.编写脚本,从在线文档上面copy一段代码,FF.au3在线文档地址 http://english.documentation.ff-au3.thorsten-willert.de/
从在线文档上面copy第一个demo运行
#include "FF.au3"
_FFStart("http://ff-au3-example.thorsten-willert.de/")
If _FFIsConnected() Then
Sleep(2000)
_FFAction("presentationmode", True)
Sleep(2000)
_FFOpenURL("http://www.baidu.com")
Sleep(2000)
_FFAction("back")
_FFAction("presentationmode", False)
Sleep(2000)
_FFOpenURL("chrome:bookmarks")
Sleep(2000)
_FFAction("alert", "Bye bye ...")
_FFQuit()
EndIf
发现报错:
! Au3check doesn't support input files encoded as UTF8 with BOM: D:\AutoIt\FF.au3
"D:\AutoIt\ftest.au3"(3,54) : error: _FFStart(): undefined function.
..........
这个问题是因为FF.au3这个文件的编码是UTF8 with BOM,这是官方推荐的编码格式,但是Au3check不知道为什么不支持,解决的办法是在文件头上面加上:
#AutoIt3Wrapper_Run_Au3Check=n 。
4. 加上上面那句好了,可以编译没有报错,可是不能正常工作,查看控制台信息,显示错误信息:
__FFStartProcess ==> General Error: Error reading registry entry for FireFox.
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe
Error from RegRead: 1
.......
读注册表错误,查找FF.au3源码4329行 $sHKLM &= 'Mozilla\Mozilla Firefox',发现在少了一个"\",导致读取路径错误,不知道为什么会有这样的错误,难道老外写的这个只能在英文操作系统上面使用。
相关文章推荐
- AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(三)
- Autoit3-实现对记事本的简单自动化操作
- AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(二)
- AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(四)
- 用AUTOIT(Au3)配合JQuery(Js)操作网页自动化
- AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(五)
- 操作 AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(六)
- AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(一)
- AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(七)
- 使用Js实现网页表格操作
- JS操作DOM节点实现网页更新
- JS操作DOM节点实现网页更新
- 巧用WebBrowser实现代码操作网页
- 巧用WebBrowser实现代码操作网页
- JS操作DOM节点实现网页更新
- VC 关于Web Browser控件操作IE,网页缩放功能实现。。
- .net 实现excel 自动化操作
- 推荐一个强大便捷的Windows自动化操作工具:AutoIt 3
- JQuery 实现网页的快捷键操作
- 通过脚本实现操作的自动化