Autoit3操做網頁實現自動化

Autoit3 自己有內置的用戶自定義函數IE.au3,只限於IE瀏覽器,若是是Firefox瀏覽器須要另外自定義函數。chrome

找了不少資料發現有個FF.au3的自定義函數,下載地址 http://www.autoitscript.com/forum/topic/95595-ffau3-v0601b-10/windows

這個是對Firefox瀏覽器的自定義函數庫,這樣就能夠經過Firefox訪問網頁。api

實現步驟和發現的問題:瀏覽器

1. 下載FF.au3,放在腳本同目錄下,也能夠放在AutoIt3安裝目錄下的,好比: C:\Program Files\AutoIt3\Include。app

2. 在Firefox瀏覽器上須要安裝一個插件 MozRepl,下載地址 https://addons.mozilla.org/en-US/firefox/addon/mozrepl/函數

    點擊直接下載,Firefox會提示安裝,安裝完了以後要打開,方法是:【工具】->【MozRepl】->【Start】,每次打開瀏覽器必定要start,不然不能通信。工具

    MozRepl 會打開一個端口,默認4242,這樣AutoIt3腳本經過windows api 實現與Firefox瀏覽器通信,操做瀏覽器實現自動化。ui

3.編寫腳本,從在線文檔上面copy一段代碼,FF.au3在線文檔地址 http://english.documentation.ff-au3.thorsten-willert.de/編碼

  從在線文檔上面copy第一個demo運行spa

#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',發如今少了一個"\",致使讀取路徑錯誤,不知道爲何會有這樣的錯誤,難道老外寫的這個只能在英文操做系統上面使用。

相關文章
相關標籤/搜索