整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          想自己寫一個按鍵精靈的插件,該怎么入手?

          想自己寫一個按鍵精靈的插件,該怎么入手?

          前天有個學員問“自己寫安卓按鍵的插件該學些什么?”

          這個問題我解決起來也比較困難,因為我對按鍵插件也不精通,只會個皮毛,只能講一下基礎內容。

          一、安卓按鍵插件是什么編程語言

          安卓按鍵的插件是基于lua語言編寫的。

          想要寫好一個插件,首先要學會lua的基本語法,這里推薦學習教程

          https://www.runoob.com/lua/lua-tutorial.html

          二、按鍵插件都包括什么內容

          通常完整的插件是由3個文件組成的。

          插件名.lua
          插件名.info
          插件名.html

          ①、lua文件

          lua文件是插件的功能文件,插件包含的所有命令代碼都在這個文件里面,這個文件是必不可少的,而其他兩個文件是可以省略的。

          ②、info文件

          info文件是給插件增加描述的,讓用戶能夠知道插件命令是干什么用的。

          沒有info文件的插件:


          有info文件的插件:

          info文件增加為插件增加名稱,為命令增加名稱,還能在寫代碼時增加命令使用方法的描述。

          雖然info文件在命令功能上沒有任何作用(有沒有info文件插件都能正常使用),但是info文件能讓插件看起來更完整,使用插件時查找命令更方便。

          ③、html文件

          html文件是網頁文件,是詳細介紹插件每個命令的網頁,一般包括命令的功能,命令的參數介紹,返回值介紹,還有提供命令使用例子的代碼。

          關于info文件和html文件的編寫,網上有現成的工具,另外就是可以參照現有插件的info文件和html文件,在其源文件上修改。

          三、插件的存放位置

          插件想要正常使用,必須要放在指定文件夾:

          按鍵助手安裝目錄/plugin文件夾,只需要把lua文件、info文件、html文件復制到這個文件夾,然后刷新按鍵助手的插件列表就可以使用插件了。

          四、插件的編寫

          在熟悉了lua語言的基本語法后,就可以編寫插件了,首先說一下插件的基本格式:

          在lua文件中,想要做一個按鍵能用的插件,就必須要是以 QMPlugin 作為前綴的函數,也就是告訴按鍵,這個lua函數是按鍵插件。

          寫法有兩種

          ①、以QMplugin為前綴直接定義函數

          function QMPlugin.new()
          
          
          end


          ②、對現有的lua函數,直接通過等于號賦值給以QMplugin前綴的函數。

          function new()
          
          
          end
          QMPlugin.new=new


          說一下基本格式:

          function QMPlugin.new()
            local iRet, sRet=pcall(function()
              --插件的功能區
              --return 函數返回值
            end)
            if iRet==true then
              return sRet
            else
              print(sRet)
              return ""
            end
          end


          代碼中pcall后面的函數是插件的核心功能。

          local iRet, sRet=pcall(function()
              --插件的功能區
            end)


          為啥要用pcall執行函數?

          是為了對函數錯誤處理,可以保證即便插件函數出錯了,也不會引起按鍵異常,可以理解為插件的異常保護機制。

          local iRet, sRet

          定義兩個變量的作用:

          iRet 存儲pcall執行的函數是否正常,類型布爾值

          sRet 存儲函數的返回值(return)

          后續在根據 iRet 的布爾值判斷是否輸出插件的返回值。

          五、LuaAuxLib 按鍵精靈lua庫

          按鍵精靈自帶lua庫的命令,這里我就不復制了,直接提供大家一個網址,大家自己去查看把。

          https://blog.csdn.net/mr_oldcold/article/details/84328296

          使用方法是在命令前面加上luaAuxLib前綴

          function print(...)
            LuaAuxLib.TracePrint(...)
          end


          六、怎么學習制作插件

          ①、熟悉lua的基本語法

          ②、參照現成的插件

          插件分成加密插件(后綴 .luae)和非加密插件(后綴 .lua),對于沒有加密的插件,我可以直接打開源文件,比如file.lua 、shanhai.lua,只要不是luae后綴的文件,都可以使用文本打開。

          參考別人的寫法,自己模仿去寫,遇到不會的功能可以在搜索lua相關的知識。

          =正文完=

          更多內容進主頁查看往期文章

          豬腳本(原飛豬腳本)以按鍵精靈教學為主,涉及UiBot,Python,Lua等腳本編程語言,教學包括全自動辦公腳本,游戲輔助腳本,引流腳本,網頁腳本,安卓腳本,IOS腳本,注冊腳本,點贊腳本,閱讀腳本以及網賺腳本等各個領域。想學習按鍵精靈的朋友可以添加金豬腳本粉絲交流群:554127455 學習路上不再孤單,金豬腳本伴你一同成長.

          1.什么是網頁元素特征字符串?

          請參考網頁特征字符串詳解;

          2.Html系列命令

          2.1.HtmlSelect命令

          1)HtmlSelect命令只能夠根據Select項的值來進行選擇,注意這里不是顯示在Select項上的文字,而是該項的value。

          一個典型的下拉框HTML代碼如下:

          <select name="city">

          <option value="1">北京</option>

          <option value="2">上海</option>

          <option value="3">廣州</option>

          </select>

          這里如果要選擇上海,需要選擇值為2的項;

          2)級聯的下拉列表組合。

          在有的網頁中,會有幾個級聯的下拉列表,后一個下拉框會隨前一個框的值變化而發生變化,典型的有注冊頁面上的省份城市選擇,HtmlSelect命令能夠觸發Onchange事件,會導致后一個下拉框值發生變化,但是如果執行腳本太快,而導致后一個未能選中正確的值,可以在前一個HtmlSelect后加上適當的延時;

          3)多選表單中的列表控件;有的列表支持多選,在有一些個求職網站中,職業是可以多選的,這時候可以用%將多個需要選擇的值連接起來傳遞給HtmlSelect命令實現多選;

          2.2.HtmlExists命令

          HtmlExists命令,能夠判斷指定特征的元素是否存在,并能夠返回具備該特征的元素的個數。這個命令能夠用來判斷某個元素是否存在,如果為0證明不存在;

          2.3.HtmlGet命令

          HtmlGet命令比較復雜,但是功能也非常強大,該命令具備兩個參數,第一個參數為獲取類型,目前支持的值如下所示:

          序號 值 適用對象

          1 text 得到指定元素的文本值,對應DOM屬性innerText

          2 html 得到指定元素內部的HTML代碼,對應DOM屬性innerHTML

          3 outerHtml 得到元素整體的HTML代碼,對應DOM屬性的outerHTML

          4 value 得到元素的Value值,用于獲取表單元素內部的值

          5 src 得到圖像元素的src屬性,用于IMG標簽對象

          6 href 得到鏈接元素的鏈接地址,用于A標簽

          7 …其他名稱 其他屬性,如果您使用的是合法的屬性名稱,就能夠返回對應的值。如何才是合法的屬性?請參閱HTML標準。

          第二個參數為特征字符串,如果匹配多個,只能返回第一個元素的值;

          例如,獲得淘寶貨物價格:

          Plugin price=Web.HtmlGet("text","id:id_Price")

          獲取某個表單文本的值

          Plugin email=Web.HtmlGet("value","name:Email")

          2.4.RunJS命令

          RunJS命令提供了直接運行Javascript的功能,如果您對JS非常熟悉,就能夠極大的擴展WQM的功能。

          RunJS命令支持兩中執行方式,第一個參數設置為0時,能夠執行一段沒有返回值的Javascript,

          例如:

          RunJS(0,"alert('hello');")

          第一個參數設置為1時,能執行一段js并返回由return語句返回的值,返回值為字符串類型;

          例如:返回Html文檔的title;

          RunJS(1,"var t=document.title;return t;")

          如果您分析到網頁中某個按鈕實際上就是執行了一個函數,例如

          <input type="Button" … />

          您就可以直接調用

          RunJS(0,"dosomething();")

          JQuery的支持,網頁按鍵精靈集成了Jquery1.3.2,為了不與其他JQ的庫發生沖突,使用了wqmjq來代替$操作符,如果您需要直接使用JQ來操作網頁,可使用wqmjq來執行Jquery語句:

          RunJS(0,"wqmjq('#test').click();")


          豬腳本(原飛豬腳本)以按鍵精靈教學為主,涉及UiBot,Python,Lua等腳本編程語言,教學包括全自動辦公腳本,游戲輔助腳本,引流腳本,網頁腳本,安卓腳本,IOS腳本,注冊腳本,點贊腳本,閱讀腳本以及網賺腳本等各個領域。想學習按鍵精靈的朋友可以添加金豬腳本粉絲交流群:554127455 學習路上不再孤單,金豬腳本伴你一同成長.

          1.什么是網頁元素特征字符串?

          請參考網頁特征字符串詳解;

          2.Html系列命令

          2.1.HtmlSelect命令

          1)HtmlSelect命令只能夠根據Select項的值來進行選擇,注意這里不是顯示在Select項上的文字,而是該項的value。

          一個典型的下拉框HTML代碼如下:

          <select name="city">

          <option value="1">北京</option>

          <option value="2">上海</option>

          <option value="3">廣州</option>

          </select>

          這里如果要選擇上海,需要選擇值為2的項;

          2)級聯的下拉列表組合。

          在有的網頁中,會有幾個級聯的下拉列表,后一個下拉框會隨前一個框的值變化而發生變化,典型的有注冊頁面上的省份城市選擇,HtmlSelect命令能夠觸發Onchange事件,會導致后一個下拉框值發生變化,但是如果執行腳本太快,而導致后一個未能選中正確的值,可以在前一個HtmlSelect后加上適當的延時;

          3)多選表單中的列表控件;有的列表支持多選,在有一些個求職網站中,職業是可以多選的,這時候可以用%將多個需要選擇的值連接起來傳遞給HtmlSelect命令實現多選;

          2.2.HtmlExists命令

          HtmlExists命令,能夠判斷指定特征的元素是否存在,并能夠返回具備該特征的元素的個數。這個命令能夠用來判斷某個元素是否存在,如果為0證明不存在;

          2.3.HtmlGet命令

          HtmlGet命令比較復雜,但是功能也非常強大,該命令具備兩個參數,第一個參數為獲取類型,目前支持的值如下所示:

          序號 值 適用對象

          1 text 得到指定元素的文本值,對應DOM屬性innerText

          2 html 得到指定元素內部的HTML代碼,對應DOM屬性innerHTML

          3 outerHtml 得到元素整體的HTML代碼,對應DOM屬性的outerHTML

          4 value 得到元素的Value值,用于獲取表單元素內部的值

          5 src 得到圖像元素的src屬性,用于IMG標簽對象

          6 href 得到鏈接元素的鏈接地址,用于A標簽

          7 …其他名稱 其他屬性,如果您使用的是合法的屬性名稱,就能夠返回對應的值。如何才是合法的屬性?請參閱HTML標準。

          第二個參數為特征字符串,如果匹配多個,只能返回第一個元素的值;

          例如,獲得淘寶貨物價格:

          Plugin price=Web.HtmlGet("text","id:id_Price")

          獲取某個表單文本的值

          Plugin email=Web.HtmlGet("value","name:Email")

          2.4.RunJS命令

          RunJS命令提供了直接運行Javascript的功能,如果您對JS非常熟悉,就能夠極大的擴展WQM的功能。

          RunJS命令支持兩中執行方式,第一個參數設置為0時,能夠執行一段沒有返回值的Javascript,

          例如:

          RunJS(0,"alert('hello');")

          第一個參數設置為1時,能執行一段js并返回由return語句返回的值,返回值為字符串類型;

          例如:返回Html文檔的title;

          RunJS(1,"var t=document.title;return t;")

          如果您分析到網頁中某個按鈕實際上就是執行了一個函數,例如

          <input type="Button" … />

          您就可以直接調用

          RunJS(0,"dosomething();")

          JQuery的支持,網頁按鍵精靈集成了Jquery1.3.2,為了不與其他JQ的庫發生沖突,使用了wqmjq來代替$操作符,如果您需要直接使用JQ來操作網頁,可使用wqmjq來執行Jquery語句:


          主站蜘蛛池模板: 国产成人精品一区二区A片带套| 色久综合网精品一区二区| 亚洲一区二区三区偷拍女厕| 国产99久久精品一区二区| chinese国产一区二区| 无码夜色一区二区三区| 搡老熟女老女人一区二区| 国产在线无码视频一区| 国产一区二区精品尤物| 国产成人av一区二区三区不卡| 无码人妻品一区二区三区精99| 国模精品一区二区三区| 国产乱子伦一区二区三区| 国产精品99精品一区二区三区| 日本内射精品一区二区视频| 亚州日本乱码一区二区三区| 国产一区二区内射最近更新| 人妻少妇AV无码一区二区| 精品一区二区三区免费观看 | 国产亚洲一区二区三区在线不卡| 秋霞日韩一区二区三区在线观看 | 久久久久99人妻一区二区三区| 熟妇人妻系列av无码一区二区| 国精产品一区二区三区糖心| 国产成人一区在线不卡| 国产伦精品一区二区免费| 一区二区在线播放视频| 亚洲爽爽一区二区三区| 中文字幕AV一区中文字幕天堂 | 精品一区二区三区3d动漫| 合区精品久久久中文字幕一区| 国产精品va一区二区三区| 国产一区二区三区四| 亚洲欧洲一区二区三区| 国产精品第一区第27页| 亚洲爆乳精品无码一区二区三区| 精品无码人妻一区二区三区| 91视频一区二区三区| 在线观看国产一区亚洲bd| 狠狠做深爱婷婷综合一区 | 久久久91精品国产一区二区三区|