首頁 > web前端 > js教程 > 用雞腳重寫網絡

用雞腳重寫網絡

Joseph Gordon-Levitt
發布: 2025-03-10 00:55:09
原創
537 人瀏覽過

用雞腳重寫網絡

Firefox瀏覽器可以使用許多插件和擴展程序,以使開發人員與DOM和網頁的其他暴露部分進行交互。事實證明,諸如JavaScript shell bookmarklet,Firebug,GreasemonKey和Platypus之類的工具對於允許開發人員可以在頁面,Debug dom和css問題以及測試想法中添加自定義交互性和測試想法。 但是,如果用戶想動態與多個頁面動態交互,以自動化Firefox接口的不同部分,以跨多個頁面進行腳本活動,或者同時使用網頁和本地文件系統,那麼這些選項在歷史上受到歷史上的限制。但這最近隨著諸如Coscripter之類的擴展以及構成本文主題的擴展而開始改變:Chickenfoot。

鑰匙要點

> Chickenfoot是一種多功能的Firefox擴展程序,允許用戶同時自動化Web互動並操縱多個網頁,從而提高了開發人員的生產力。

>雞腳的安裝很簡單,類似於其他Firefox擴展,但是儘管Mac用戶可用,但在Windows上的性能最佳,他們可能會遇到一些不一致的情況。
    擴展在Firefox的XUL環境中運行,該環境與標準(X)HTML環境不同,提供了更深入的訪問和與網頁上下文的互動功能。
  • Chickenfoot支持在各個站點上進行腳本,啟用任務,例如從一個頁面複製文本,在Google上搜索文本,並將結果附加到本地文件,該文件顯示了其功能強大的自動化功能。
  • >用戶可以使用Chickenfoot的Interactive Shell直接在瀏覽器中編寫和測試腳本,該互動殼記錄動作並將其輸出為可重複使用的腳本片段,從而簡化了重複任務的自動化。
  • 什麼是雞腳?
  • Chickenfoot是MIT用戶界面組的Firefox擴展。它提供了:
  • 的能力
與瀏覽器的鉻
>使用交互式外殼來操縱頁面並以各種方式監視頁面交互
>編寫在多個站點上運行的腳本,以便可以編寫一個訪問一個網頁的腳本,從頁面的一部分中復制某些文本,轉到Google,搜索該文本,然後將第一個鏈接附加到本地文件系統

上的頁面上的第一個鏈接

對於希望自動化動作或擴展他或她定期使用的網頁功能的任何開發人員來說

安裝雞腳

    雞腳的安裝方式與其他Firefox擴展名相同:只需下載並接受從Chickenfoot安裝頁面上可用的XPI文件。
  • 儘管Firefox是一個跨平台瀏覽器,但

    該擴展程序在Windows上最有效。如果您在Mac上,您仍然可以安裝Chickenfoot並與本文中的代碼一起播放,但是您可能會看到不一致的行為。不幸的是,直到扭結被熨除掉了,警告此。 Docshell不會出現頻率,並且您的輸出可能與此處描述的那樣不匹配。 >>>>>>>>>>

    >安裝了擴展程序並重新啟動瀏覽器後,您可以通過按F8或選擇視圖>側欄> Chickenfoot菜單選項來訪問Chickenfoot Interactive Shell。外殼將在側邊欄中打開,看起來像下面的圖像。



    用雞腳重寫網絡>首次啟動雞腳側欄時,它顯示了一個拆分視圖 - 頂部面板包含一個標有未鍵入的文本字段;這是我們將編寫Chickenfoot代碼的輸入區域。

    底部面板包含四個選項卡。默認選擇的選項卡被標記為輸出,並顯示您所有操作的歷史記錄以及所有Chickenfoot的動作,這些歷史都應用於瀏覽器。首先,我們必須告訴Chickenfoot記錄我們的動作 - 單擊“動作”選項卡,並確保檢查記錄動作選項。

    >讓我們測試我們的輸出正在被捕獲。為此,請打開一個新的Firefox選項卡並加載Google主頁。加載頁面後,單擊頁面左上方的圖像鏈接,這將帶您進入Google的圖像搜索。如果再次選擇“ Chickenfoot輸出”選項卡,則應查看以下文本:

    >這不僅僅是對發生的事情的描述,實際上是雞腳代碼的片段!要測試此代碼,請單擊“背箭頭”以返回Google主頁,然後復制並粘貼我們創建的摘要中的摘要。單擊面板頂部的綠色箭頭,將執行您的代碼段。該頁面將再次導航到Google Image搜索頁面。

    雞腳背後的想法
    click("Images")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    Chickenfoot與啟用可腳本網絡的其他工具分享了某些想法。

    > Chickethiot背後的主要思想是為用戶提供創建任何人都可以使用或寫作的工具,而無需程序員的幫助。我應該在這裡註意到,我認為這個目標將無法實現,因為總會有對具有復雜功能的腳本的需求,而該腳本只能由程序員實現。但是,這個理想主義目標是雞腳背後的驅動力這一事實導致了一個非常有用的工具。 這些目標與Coscripter相似 - 實際上,Coscripter使用了Chickenfoot版本0.9代碼的一部分。我不會在本文中詳細介紹有關Coscripter的任何詳細信息,但是如果您有興趣閱讀更多信息,請參閱Alex Faaborg的文章。
    >
    找到我們的腳

    >讓我們看一下如何錄製雞腳的腳本,就像MS Word或Adobe Photoshop中的宏。在此示例中,我們將創建一個僅比上一節中看到的單個命令更重要的腳本。對於此演示,我從Coscripter教程的入門中汲取了靈感。

    >

    完成後,我們的腳本將導致我們的瀏覽器:

      >加載頁面www.google.com。
    1. 單擊圖像鏈接。

    2. >將文本“考拉”放入搜索圖像文本框中。
    3. 單擊搜索圖像按鈕。
    4. >讓我們來腳本!如果尚未打開雞腳的側邊欄,並在頂部面板中鍵入以下命令:
      >
    5. 然後單擊綠色箭頭。如您所料,您的瀏覽器會加載Google主頁。
    >

    要記錄我們的其餘腳本,我們基本上將執行我上面描述的步驟。單擊“圖像鏈接”,然後在搜索框中輸入文本“ Koalas”,然後命中標籤以退出字段。最後,單擊搜索映像按鈕。

    click("Images")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    您的輸出選項卡現在應顯示類似於以下內容的內容:

    >

    >如果您在登錄到Google帳戶時執行了這些步驟,則列出的一些文本值可能有所不同,但是操作仍然相同。

    >現在我們已經記錄了動作,我們可以從此代碼輸出中選擇並選擇,並將所需的線複製到Chickenfoot側邊欄的頂部面板。瞧!我們有一個工作腳本!

    >

    >除了最初的GO操作外,我們關注的命令是單擊並輸入命令。我們還可以簡化傳遞的值,以便我們的腳本看起來像這樣:>
    go("google.com")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    您可能會從上面的示例中註意到的一件事是,Chickenfoot語法與許多基於C的語言(例如JavaScript)有很多共同點。雞腳命令實際上是javaScript。

    刮擦表面

    >一個重要的概念是,大多數JavaScript用戶都熟悉的普通(X)HTML環境中,Chickenfoot並不是在Firefox的XUL環境中運行。雞腳已經擴展了此環境,以使其更容易與網頁的上下文進行交互。
    go("http://www.google.com/") 
    click("Images")
    go("http://images.google.com/imghp?hl=en&tab=wi")
    enter("Sign in", "koalas")
    click("Search Images button")
    go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
    &gbv=2")
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >如果您在普通頁面的上下文中引用或修改JavaScript可以訪問的對象,則可能會按照您的期望進行行為。但是,由於Chickenfoot JavaScript引擎具有更深層次的訪問水平,因此您可以比平時獲得更多的自由,例如在其默認情況下訪問對象。

    >

    >在您進一步探索雞腳時,您可能會遇到兩個環境之間的差異以及對像在其中的行為。大多數情況下,這些差異的原因將歸結為瀏覽器環境中的本機功能,這些瀏覽器環境已在Xul Chickenfoot環境中重新實現,以熟悉。

    一個這樣的示例就是警報功能;考慮以下JavaScript代碼的片段:

    >
    click("Images")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    在Firefox中的HTML環境中運行此代碼時,它顯示以下對話框:

    用雞腳重寫網絡

    但是,當它在雞腳環境中運行時,相同的代碼會產生以下對話框:>

    用雞腳重寫網絡

    除了許多共享功能外,在常規的基於瀏覽器的JavaScript實現中,還有一些其他功能,但在Chickenfoot環境中可用。 這些功能的列表可以在Chickenfoot API文檔中找到。

    >

    啄食雞腳api
    與技術一樣,雞腳的某些部分比其他地區更有用,而且您絕對需要了解的部分才能充分利用雞腳。 >
    以下是我發現最有用的部分。

    >

    模式datatype

    大多數雞腳功能都接受參數的模式。 API文檔中描述了一種模式為“許多其他數據類型的結合”。

    >最容易將模式視為用於訪問HTML頁面上對象的速記短語。例如,“第二隻雞腳”的模式是指頁面上的“雞腳”一詞的第二次出現。如果您要訪問Chickenfoot API頁面並執行以下代碼,則將選擇頁面上的第二個單詞:

    >這種方法有一些變體,而Chickenfoot使用一些邏輯來智能地弄清楚您的短語使用的模式。因此,某些功能(例如點擊)與模式無法正常工作,因為如果給出了可能返回多個可能結果的模式,它們會產生錯誤。

    > 例如,假設我們將上述代碼更改為以下內容:>
    go("google.com")
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >很可能會在輸出面板中產生錯誤消息,類似

    因此,要有效地使用模式,您需要使模式特別精確(例如,如果安裝了Lapis擴展名,則使用XPATH語法或Lapis查詢語法),或者使用查找功能,並通過此功能返回的一系列對象進行迭代。接下來,我們將查看這種方法。

    模式是以下數據類型的結合:
    go("http://www.google.com/") 
    click("Images")
    go("http://images.google.com/imghp?hl=en&tab=wi")
    enter("Sign in", "koalas")
    click("Search Images button")
    go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
    &gbv=2")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    >

    • >字符串
    • > tc
    • 匹配
    • >節點
    • 範圍
    • xpath

    查找函數

    查找功能採用模式並返回匹配該模式的對象。將以下代碼放在您的頂部面板中,並在此頁面上執行:

    click("Images")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >您會注意到輸出面板中出現一個對象。單擊此對象將導致“雞腳”一詞的所有實例突出顯示。

    > 不幸的是,此函數返回的對像不是JavaScript數組。根據經驗,您需要將Chickenfoot的查找功能的結果置於陣列中,然後循環循環以挑選出您追求的單個對象。

    >

    Inclubel函數

    > Include功能允許您在Chickenfoot腳本中包含其他JavaScript文件。 Chickenfoot配備了一些內置的庫(大多數名稱是自稱的):>

    > Prototype.js,修改版本的1.5.0_rc0原型的發行版。不幸的是,在撰寫本文時,Chickenfoot的Xul環境通過原型庫引起了錯誤,使原型庫的更新版本不兼容。
      >
    • > facebook.js,用於查詢Facebook API。
    • > fileio.js,它提供了與本地文件系統進行交互的功能。
    • > Google-Ajax-search.js,用於從任何網頁上執行基於AJAX的Google搜索查詢。
    • google-maps.js,用於查詢Google Maps API。 Google-search.js,Google Web搜索API的包裝器。 (除非您碰巧擁有Google API密鑰 - 它們不再被發出 - 此特定庫不感興趣。)
    • 實現大多數GreaseMonKey API的
  • json.js,用於執行JSON序列化和數據序列化。
  • >
  • > screenshot.js,它允許您使用屏幕截圖並通過fileio.js庫將其保存到本地文件系統。
  • Scriptaculous.js,基於流行原型效果庫的版本1.6.1。
  • strings.js,其中包含用於從字符串中刪除尾隨和領先空格的函數。
  • > us-geocoder.js,非經常許可的美國地址的庫。
  • > wz_jsgraphics.js,Walter Zorn的JavaScript Graphics庫的版本。
  • 當您考慮每個庫中每個庫帶來的功能時,您應該開始欣賞Chickenfoot帶給網絡的潛力。
  • 您可以以四種不同的方式之一將庫中的庫中的庫包括
    • 通過Chrome Uri
    • 通過文件路徑
    • 通過存儲在您的Chickenfoot Profile目錄中的文件的名稱(在應用程序下Datamozillafirefoxprofiles {配置文件ID} Chickenfoot)
    • 通過名稱明確引用庫

    >關於使用新庫的註釋:我發現,最有效的庫通常是提供特定功能的庫,例如CSSQUERY或類似的庫,而不是試圖全方位的庫。 include函數還採用可選的對象參數,該參數對於檢查特定庫或一組庫中的可用內容非常有用,儘管本文中未介紹此功能。

    Chickenfoot還具有其他幾種語言構造,例如後者,之前和插入,可讓您使用查找頁面上的元素在頁面上檢索一個元素,然後從該元素導航到您真正追求的元素。這些函數還可以動態地將內容插入該元素或周圍的HTML元素中。

    有用的任務變成了chickyfeed

    任何聲稱自動化任務的技術都應該使快速執行有用的事情變得容易。在本節中,我將描述一些真正有用的雞腳的任務。我包含了代碼的片段,儘管它們可能無法說明JavaScript的最佳實踐,但它們在說明各種用途的雞腳上做得很好。

    讓我們開始吧!這是一些方便的雞腳腳本。

    首先,讓我們找出哪些變量在您的Firefox Chrome的頂層綁定:

    >這條線應為您提供大量信息。您還可以使用此命令查看有關當前文檔的一堆信息:

    click("Images")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    接下來,讓我們將當前網頁作為XHTML字符串輸出到輸出窗格:

    go("google.com")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    現在,讓我們將上面的XHTML字符串寫入桌面。可以將上面示例的XHTML輸出寫入桌面上的文件。如果您在Mac或linux機器上,則在最後一行中替換上線中的eScapated文件分隔機:

    實際上可以在即將發布的Chickenfoot版本中使用更簡單的代碼執行上述任務,因為它使用默認的Firefox下載目錄(通常是桌面)。
    go("http://www.google.com/") 
    click("Images")
    go("http://images.google.com/imghp?hl=en&tab=wi")
    enter("Sign in", "koalas")
    click("Search Images button")
    go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
    &gbv=2")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    現在,讓我們與您檢查過的瀏覽器鍍鉻互動。

    在Firefox中,如果您具有相關對象的ID,則可以訪問瀏覽器窗口鉻的一部分。可以使用函數ChromeWindow.document.getElementById檢索。例如,當您在頁面上右鍵單擊時顯示的上下文菜單的ID是ContreareAcontextMenu。如果我們從上面的示例3中獲取腳本,將DOM保存到桌面上,並將其包裝在功能中,則可以從上下文菜單中調用此函數,例如:

    >
    click("Images")
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    請注意,Chickenfoot功能附加功能允許您將數據附加到文檔。您這樣使用它:

    >
    go("google.com")
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    希望,這些示例可以讓您感覺到一些簡單但有力的任務可以由Chickenfoot Script自動化。

    >一個更高級的雞腳腳本
    在簡單的任務中,

    足夠了 - 讓我們用雞腳做一些更先進的事情!

    >

    >我使用以下腳本將功能添加到Gmail中 - 具體來說,從頁面中搜索並選擇包含與特定雞腳模式相匹配的文本的對話。這是每個人最喜歡的基於網絡的電子郵件客戶端的有用且有力的增強。

    >

    這是腳本:

    go("http://www.google.com/") 
    click("Images")
    go("http://images.google.com/imghp?hl=en&tab=wi")
    enter("Sign in", "koalas")
    click("Search Images button")
    go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
    &gbv=2")
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    此腳本提示用戶獲取一些輸入,然後將輸入作為參數傳遞給Chickenfoot查找功能。請記住,發現接受雞腳模式,因此,這種搜索的可能用途幾乎是無限的,因為您可以要求它不僅僅是字符串匹配。

    >您可能會從我們第一次遇到無法返回數組的查找方法中回想起。因此,我們需要將結果讀為一個數組。您可能會發現執行此任務的代碼片段在您編寫的其他雞腳腳本中很有用:

    go("google.com") 
    click("Images")
    enter("koalas")
    click("Search Images button")
    登入後複製
    在此之後,腳本通過查找功能返回的數組循環,並試圖構造一個雞腳模式,該圖案將與包含我們搜索字符串的文本匹配。然後,我們使用Chickenfoot Check功能來切換最接近該文本部分的複選框,從而選擇該消息。

    請記住,檢查需要能夠確保其具有確切的文本,或者會丟棄錯誤,這就是為什麼我們不能僅對找到的檢查。

    >上面腳本的一個值得注意的方面是相對於其達到的功能,其尺寸較小。與DOM這樣的標準API,Chickenfoot的功能提供了與文檔動態交互的更簡單的方式。

    結論

    在本文中,我們研究了許多方法,您可以輕鬆地使用Chickenfoot與瀏覽器進行交互。在本文中,我們只從雞腳上可以做的事情劃過了表面 - 潛力很大,只有您的想像力才受到限制!
    >
    如果您有興趣了解更多信息,請查看以下資源:>

    • >在Csail MIT集團的項目頁面上對Chickyfoot的描述給出了一些關於該項目的想法,並鏈接到了一些學術論文。其中,Michael Bolin等人的論文。 al。 (PDF,0.41MB)包含許多有用的示例。
    • Chickenfoot Wiki提供了一些示例腳本。
    • 請參閱Google教育談話,展示了雞腳的各種用途。
    • >
    如果您創建一個殺手腳本,我鼓勵您將其提交給Chickenfoot Wiki。快樂的腳本!

    >關於Web重寫工具的常見問題(常見問題解答)

    > Web重寫工具的主要目的是什麼?

    > Web重寫工具主要旨在幫助用戶解釋或重寫內容。這對於需要從現有來源創建獨特內容的內容創建者,作家,學生和專業人士特別有用。這些工具使用高級算法和人工智能來確保重寫的內容在更改結構和措辭時保持原始含義以避免竊。它直接在瀏覽器中提供了一個編程環境,使用戶可以操縱網頁並自動化Web瀏覽。此功能將其設置為主要關注內容啟示的其他重寫工具。

    >

    > Web重寫工具是否與所有瀏覽器兼容?

    >大多數Web重寫工具都設計為與Google Chrome和Firefox等流行的瀏覽器兼容。但是,總是建議檢查工具的規格或Chrome網絡商店以獲取兼容性信息。一些工具,例如OutWrite和WordTune,提供專用的Chrome擴展名,可輕鬆訪問和使用。

    >

    > Web重寫工具的結果如何可靠?

    > Web重寫工具的結果可靠性可能會有所不同。大多數工具都使用高級AI和機器學習算法來確保重寫的內容在語法上是正確的,並保持原始含義。但是,最好將重寫的內容手動查看以獲取準確性和上下文是一個好主意。

    我可以使用Web重寫工具用於學術目的嗎?

    >

    ,而Web重寫工具可以有助於拼寫內容,不應將它們用於竊或虛假或虛假的工作,尤其是在學術上,尤其是在學術上,尤其是在學術上。始終確保適當地引用您的來源。

    >

    > Web重寫工具中的AI如何工作?

    Web重寫工具中的AI使用自然語言處理(NLP)來理解原始內容的上下文和含義。然後,它在保持原始意圖的同時重組和重新介紹內容。一些工具,例如hix.ai,都使用高級AI模型(例如GPT-3)進行高質量重寫。

    > Web重寫工具是否可以安全使用?

    大多數Web重寫工具都是安全使用的。但是,重要的是要查看該工具的隱私政策,以了解如何處理數據。有些工具可能會暫時存儲您的內容以進行處理,但是它們通常不會保留或共享您的數據。

    > Web重寫工具可以提高我的寫作技巧嗎?

    是的,Web重寫工具可以通過提供替代方法來表達您的想法和想法來幫助提高您的寫作技巧。他們還可以幫助您學習新的詞彙並改善語法。

    > Web重寫工具是否支持多種語言?

    一些Web重寫工具確實支持多種語言,但這不是通用功能。始終檢查該工具的語言支持規範。

    >

    使用Web重寫工具是否存在任何限制?

    ,而Web重寫工具功能強大,它們可能並不總是完美地捕獲人類語言的細微差別。他們可能會用複雜的句子或特定的行話鬥爭。因此,始終建議您查看和編輯重寫的內容。 >

以上是用雞腳重寫網絡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板