ホームページ >ウェブフロントエンド >jsチュートリアル >チキンフットでウェブを書き直します

チキンフットでウェブを書き直します

Joseph Gordon-Levitt
Joseph Gordon-Levittオリジナル
2025-03-10 00:55:09543ブラウズ

チキンフットでウェブを書き直します

Firefoxブラウザが多数のプラグインと拡張機能を使用して、開発者がDOMおよびWebページの他の露出した部分と対話できるようにします。 JavaScriptシェルブックマークレット、FireBug、Greasemonkey、Platypusなどのツールは、開発者がページにカスタムインタラクティブ性を追加できるようにするのに役立つことが証明されています。 ただし、ユーザーが複数のページと動的に対話したり、Firefoxインターフェイスのさまざまな部分を自動化したり、多数のページでアクティビティをスクリプト化したり、Webページとローカルファイルシステムの両方を同時に操作したりする場合、オプションは歴史的に制限されています。しかし、これは最近、Coscripterなどの拡張機能と、この記事の主題を形成する拡張機能であるChickenfootで変化し始めました。

キーテイクアウト

Chickenfootは、ユーザーがWebインタラクションを自動化し、複数のWebページを同時に操作できる多用途のFirefox拡張機能です。開発者の生産性が向上します。
    チキンフットのインストールは、他のFirefox拡張機能と同様に簡単ですが、Macユーザーが利用できるにもかかわらず、Windowsで最適です。
  • 拡張機能はFirefoxのXUL環境で動作します。これは、標準(x)HTML環境とは異なり、Webページのコンテキストでより深いアクセスと相互作用機能を提供します。
  • Chickenfootは、さまざまなサイトでのスクリプトをサポートし、1つのページからテキストをコピーしたり、Googleで検索したり、その強力な自動化機能を紹介するローカルファイルに結果を追加したりするなどのタスクを有効にします。
  • ユーザーは、Chickenfootのインタラクティブシェルを使用してブラウザでスクリプトを直接書き込んでテストできます。これは、アクションを記録し、再利用可能なスクリプトスニペットとして出力し、繰り返しタスクの自動化を簡素化します。
  • チキンフットとは?
  • Chickenfootは、MITユーザーインターフェイスグループのFirefox拡張機能です。次の機能を提供します
ブラウザのクロムと対話します
ページを操作するためのインタラクティブなシェルを使用し、さまざまな方法でページのインタラクションを監視する

複数のサイトを実行するスクリプトを作成するため、1つのWebページにアクセスし、ページの一部からテキストをコピーし、Googleに移動し、そのテキストを検索してから、ローカルファイルシステムのページへの最初のリンクを追加できます

>>

    Chickenfootは、アクションを自動化したり、定期的に利用しているWebページの機能を拡張したりする開発者にとって非常に強力なツールです。
  • チキンフットのインストール
  • Chickenfootは、他のFirefox拡張機能と同じ方法でインストールされています。ChickenFootインストールページから利用可能なXPIファイルをダウンロードして受け入れるだけです。

    Firefoxはクロスプラットフォームブラウザーであるという事実にもかかわらず、拡張機能はWindowsで最適です。 MACを使用している場合でも、Chickenfootをインストールしてこの記事のコードと一緒に再生できますが、一貫性のない動作が表示される場合があります。残念ながら、キンクが解決されるまで、this.docshellには頻繁に表示されない警告があり、出力はここで説明したものと一致しない場合があります。

    拡張機能をインストールしてブラウザを再起動したら、F8を押すか、[ビュー]> [SideBar]> Chickenfootメニューオプションを選択することにより、Chickenfoot Interactiveシェルにアクセスできます。シェルはサイドバーで開き、下の画像のようなものになります。



    チキンフットでウェブを書き直しますチキンフットサイドバーが最初に起動されると、スプリットビューが表示されます。上部パネルには、無題のテキストフィールドが含まれています。これは、チキンフットコードを書く入力領域です。

    下のパネルには4つのタブが含まれています。デフォルトで選択されたタブには、出力にラベルが付けられており、ブラウザに適用されたすべてのアクションの履歴と、チキンフットのアクションのすべてを表示します。まず、アクションを記録するようにチキンフットに指示する必要があります。[アクション]タブをクリックして、レコードアクションオプションがチェックされていることを確認してください。

    出力がキャプチャされていることをテストしましょう。そのために、新しいFirefoxタブを開き、Googleホームページをロードします。ページが読み込まれたら、ページの左上にある画像リンクをクリックして、Googleの画像検索に移動します。チキンフット出力タブをもう一度選択する場合は、次のテキストを表示する必要があります。

    これは、何が起こったかの説明以上のものです。実際、それはチキンフットコードのスニペットです!このコードをテストするには、バック矢印をクリックしてGoogleホームページに戻り、作成したスニペットをコピーしてチキンフットパネルに貼り付けます。パネルの上部にある緑色の矢印をクリックすると、コードスニペットが実行されます。ページは再びGoogle画像検索ページに移動します。 チキンフットの背後にあるアイデア

    Chickenfootは、スクリプト可能なWebを有効にする他のツールと特定のアイデアを共有しています。

    チキンフットの背後にある主なアイデアは、プログラマーの支援を必要とせずに、誰でも使用または書くことができるマクロを作成するためのツールをユーザーに提供することです。ここでは、この目的は達成されないという私の意見であることに注意する必要があります。これは、プログラマーが実装できる複雑な機能を持つスクリプトが常に需要があるからです。しかし、この理想主義的な目標がチキンフットの背後にある原動力であるという事実は、非常に有用なツールをもたらしました。
    click("Images")
    これらの目的は、Coscripterの目的と似ています。実際、CoscripterはChickenfootバージョン0.9コードの一部を使用しています。この記事ではCoscripterの詳細については説明しませんが、もっと読むことに興味があるなら、Alex Faaborgの記事を参照してください。
    足を見つける

    MS WordやAdobe Photoshopのマクロのように、チキンフットスクリプトをどのように記録できるかを見てみましょう。この例では、前のセクションで見た単一のコマンドよりもわずかに複雑なスクリプトを作成します。このデモでは、Coscripterチュートリアルを始めることからインスピレーションを得ました。

    終了したら、スクリプトはブラウザになります。

    ページwww.google.comをロードします
      [画像]リンクをクリックします
    1. テキスト「koalas」を検索画像テキストボックスに入れます
    2. [画像の検索]ボタンをクリックします。
    3. スクリプトを取得しましょう!チキンフットのサイドバーをまだ開いていない場合は、上部パネルに次のコマンドを入力してください。
    4. 次に、緑色の矢印をクリックします。ご想像のとおり、ブラウザはGoogleホームページをロードします。
    5. スクリプトの残りの部分を記録するには、基本的に上記の手順を実行します。画像リンクをクリックして、検索ボックスにテキスト「Koalas」を入力し、タブを押してフィールドを終了します。最後に、[画像の検索]ボタンをクリックします
      [出力]タブは、次のようなものを表示する必要があります。
    6. Googleアカウントにログインしている間にこれらの手順を実行した場合、リストされているテキスト値の一部は異なる場合がありますが、アクションは依然として同一である必要があります。
    アクションを記録したので、このコード出力から選択して選択し、希望の行をチキンフットサイドバーの上部パネルにコピーできます。出来上がり!作業スクリプトがあります!

    最初のGOアクションとは別に、私たちが後にしているコマンドはクリックしてコマンドを入力します。また、渡された値を簡素化することができます。これにより、スクリプトが次のようになります。
    click("Images")

    上記の例から気付くかもしれないことの1つは、JavaScriptのような多くのCベースの言語とChickenfoot構文が共通していることです。 Chickenfootコマンドは、実際、JavaScriptです

    表面を引っ掛けます

    把握することが重要な概念の1つは、チキンフットがほとんどのJavaScriptユーザーが馴染みのある通常(x)HTML環境で実行されないことですが、FirefoxのXUL環境で実行されないことです。この環境は、チキンフットがWebページのコンテキストとより簡単に相互作用できるようにするために拡張されています。
    go("google.com")
    通常のページのコンテキストでJavaScriptがアクセスできるオブジェクトを参照または変更すると、予想どおりに動作する可能性があります。ただし、チキンフットJavaScriptエンジンにはアクセスのレベルが深いため、デフォルトのコンテキスト以外のオブジェクトにアクセスするなど、通常よりも多くの自由をとることができます。

    チキンフットをさらに探索すると、2つの環境とオブジェクトの振る舞いの違いに遭遇する可能性があります。ほとんどの場合、これらの違いの理由は、親しみやすさのためにXulチキンフット環境で再実装されたブラウザ環境からのネイティブ機能にかかっています。

    そのような例の1つは、アラート関数です。 JavaScriptコードの次のスニペットを考えてみましょう

    click("Images")
    このコードがFirefoxのHTML環境で実行されると、次のダイアログボックスが表示されます。

    チキンフットでウェブを書き直します ただし、チキンフット環境で実行されると、同じコードが次のダイアログボックスを作成します。

    多くの共有関数に加えて、通常のブラウザベースのJavaScriptの実装では利用できないが、チキンフット環境内で利用できる追加の機能がいくつかあります。 これらの機能のリストは、チキンフットAPIドキュメントにあります。 チキンフットAPI チキンフットでウェブを書き直します

    ペッキング

    テクノロジーと同様に、チキンフットの特定の部分が他のものよりも便利な部分があり、チキンフットを最大限に活用するために絶対に理解する必要がある部分があります。

    以下は、私が最も便利だと思う部分です。

    パターンデータタイプ

    ほとんどのチキンフット関数は、パラメーターのパターンを受け入れます。 APIドキュメントでは、「他の多くのデータ型の結合」としてパターンが説明されています。

    HTMLページでオブジェクトにアクセスするための速記のフレーズとしてパターンを考えるのが最も簡単です。たとえば、パターン「セカンドチキンフット」は、ページ上の「チキンフット」という単語の2番目の発生を指します。チキンフットAPIページにアクセスして次のコードを実行する場合、ページ上の「チキンフット」という単語の2番目の発生が選択されます。 このアプローチにはいくつかのバリエーションがあり、Chickenfootはいくつかのロジックを使用して、フレーズが使用しているパターンをインテリジェントに把握しようとします。このため、特定の関数(クリックなど)はパターンではうまく機能しません。複数の結果を返すことができるパターンが与えられた場合、エラーが生成されるためです。 たとえば、

    上記のコードを次のように変更するとします。

    これにより、次のような出力パネルにエラーメッセージが生成される可能性があります。

    したがって、パターンを効果的に使用するには、パターンを特に正確に作成する必要があります(たとえば、LAPIS拡張機能がインストールされている場合はXpath SyntaxまたはLapisクエリ構文を使用して)またはFind関数を使用し、この関数が戻るオブジェクトの配列を繰り返します。次にこのアプローチを見ていきます。

    go("google.com")
    パターンは、次のデータ型の結合です。

    • 文字列
    • tc
    • 一致
    • node
    • 範囲
    • xpath

    検索関数

    検索関数はパターンを取り、そのパターンに一致するオブジェクトを返します。次のコードを上のパネルに配置し、このまさにページで実行します。

    click("Images")
    出力パネルにオブジェクトが表示されることに気付くでしょう。このオブジェクトをクリックすると、「チキンフット」という単語のすべてのインスタンスが強調表示されます。

    この関数が返すオブジェクトは、残念ながら、JavaScriptアレイではありません。経験則として、チキンフットの発見機能の結果を配列にパイプし、アレイをループして、あなたが望んでいる個々のオブジェクトを選択する必要があります。

    関数を含むインクルード関数を使用すると、チキンフットスクリプトに他のJavaScriptファイルを含めることができます。 Chickenfootにはいくつかの内蔵ライブラリが付属しています(ほとんどの名前は自明です):

    prototype.js、修正バージョン1.5.0_RC0プロトタイプのリリース。残念ながら、執筆時点で、ChickenfootのXul環境はプロトタイプライブラリでエラーを発生させ、プロトタイプライブラリの新しいバージョンを互換性がありません。 Facebook APIを照会するための

    Facebook.js

    fileio.js、ローカルファイルシステムと対話するための関数を提供します。

      google-ajax-search.js、任意のWebページからAJAXベースのGoogle検索クエリを実行するため。
    • Google-Maps.js、GoogleマップAPIを照会するため
    • Google-search.js、Google Web検索APIのラッパー。 (たまたまGoogle APIキーを持っていない限り - 発行されなくなりました - この特定のライブラリはほとんど興味がありません。)
    • greasemonkey.jsは、ほとんどのGreasemonkey APIを実装し、既存のGreasemonkeyスクリプトを再利用できます。 JSONのシリアル化とデータの敏aserializationを実行するための
    • json.js。
    • Screenshot.js。スクリーンショットを撮影して、fileio.jsライブラリを介してローカルファイルシステムに保存できます。
    • Scriptaculous.js、人気のあるプロトタイプベースの効果ライブラリのバージョン1.6.1
    • strings.jsには、弦からトレーリングとリーディングの白人を削除するための関数が含まれています。
    • us-geocoder.js、ジオコーディング米国の住所のための非営利的にライセンスされたライブラリ。
    • wz_jsgraphics.js、Walter ZornのJavaScriptグラフィックスライブラリのバージョン
    • これらのライブラリのそれぞれがテーブルにもたらす機能を考慮すると、チキンフットがウェブにもたらす可能性を理解し始める必要があります。
    • 4つの異なる方法のいずれかで、チキンフットスクリプトにライブラリを含めることができます。
      • Chrome Uri
      • 経由 ファイルパスを介して
      • チキンフットプロファイルディレクトリに保存されているファイルの名前を介して(アプリケーションDataMozillafireFoxProfiles {Profile ID} Chickenfoot)名前
      • でライブラリを明示的に参照します
      • 新しいライブラリを使用することに関するメモ:多くの場合、最適に機能するライブラリは、CSSqueryや同様のライブラリなどの特定の機能を提供するライブラリであり、すべてを包含しようとするライブラリではありません。
      include関数は、特定のライブラリまたはライブラリのセット内で利用可能なものを検査するのに非常に役立つオプションのオブジェクトパラメーターも使用しますが、この機能はこの記事ではカバーされていません。

      Chickenfootには、Findを使用してページ上の要素を取得し、その要素から実際にその要素に移動できるように、After、Before、insertなどの他のいくつかの言語構成もあります。これらの関数は、その要素または周囲のHTML要素にコンテンツを動的に挿入することも可能になります。

      有用なタスクがChickenFeed

      に変わりました

      タスクを自動化することを目的とするテクノロジーは、迅速に有用なことを簡単に行えるようにする必要があります。このセクションでは、チキンフットが本当に便利であるいくつかのタスクについて説明します。コードの断片を含めましたが、JavaScriptのベストプラクティスを説明していないかもしれませんが、チキンフットのさまざまな用途を説明するのに良い仕事をしています。

      始めましょう!これがいくつかの便利なチキンフットスクリプトです。

      最初に、Firefox Chromeの最上位レベルでどの変数がバインドされているかを調べましょう。

      この単一の行は、かなりの情報を提供する必要があります。このコマンドを使用して、現在のドキュメントに関する情報の山を表示することもできます。

      次に、現在のWebページをXHTML文字列として出力ペインに出力しましょう。

      次に、上のXHTML文字列をデスクトップに書きましょう。上記の例からデスクトップのファイルにXHTML出力を記述することができます。 MacまたはLinuxマシンを使用している場合は、「//」に逃げ出したファイルセパレーター「」を「//」に置き換えます。

      上記のタスクは、デフォルトのFirefoxダウンロードディレクトリ(通常はデスクトップ)を使用するため、Chickenfootの間もなくリリースされるバージョンでさらに単純なコードを使用して実際に実行できます。

      さあ、検査したブラウザクロムとやり取りしましょう。
    click("Images")
    Firefoxでは、問題のオブジェクトのIDがある場合、ブラウザのウィンドウクロームの一部にアクセスできます。これは、関数chromewindow.document.getelementbyidを使用して取得できます。たとえば、ページを右クリックすると表示されるコンテキストメニューのIDは、ContentAreAcontextMenuです。上記の例3からスクリプトを取得する場合は、DOMをデスクトップに保存し、それを関数にラップする場合、次のようにこの関数をコンテキストメニューから呼び出すことができます。

    チキンフット機能の追加関数を使用すると、ドキュメントにデータを追加できることに注意してください。このように使用してください:
    click("Images")

    うまくいけば、これらの例は、チキンフットスクリプトによって自動化できるシンプルだが強力なタスクのいくつかを感じさせます。
    go("google.com")
    より高度なチキンフットスクリプト

    簡単なタスクで十分です - チキンフットでもう少し高度なことをしましょう!
    次のスクリプトを使用して、gmailに機能を追加します。具体的には、特定のチキンフットパターンに一致するテキストを含む会話をページから検索して選択します。これは、すべての人のお気に入りのWebベースの電子メールクライアントにとって有用で強力な強化です。

    スクリプトは次のとおりです

    このスクリプトは、ユーザーに何らかの入力を促し、その入力をパラメーターとしてチキンフット検索関数に渡します。 Findがチキンフットパターンを受け入れることを忘れないでください。そのため、この種の検索の可能性のある用途は、文字列以上のものと一致するように頼むことができることを考えると、ほとんど無限です。

    アレイを返さないFindメソッドに最初に遭遇したときから思い出すことができます。したがって、結果を配列に読み取る必要があります。おそらく、このタスクを実行するコードの断片が、あなたが書いている他のチキンフットスクリプトで役立つようにすることを見つけるでしょう:

    この後、スクリプトは検索関数によって返される配列をループし、検索文字列を正確に含むテキストに一致するチキンフットパターンを構築しようとします。次に、チキンフットチェック関数を使用して、テキストのセクションに最も近いチェックボックスを切り替えて、そのメッセージを選択します。
    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")
    チェックは、正確なテキストがあることを確認できる必要があるか、エラーが発生する必要があることを忘れないでください。そのため、fund.text。

    上記のスクリプトの顕著な側面の1つは、達成する機能に比べて小サイズです。 Chickenfootの機能は、DOMなどの標準的なAPIよりも、ドキュメントと動的に対話する簡単な方法を提供します。

    結論

    この記事では、Chickenfootを使用してブラウザと対話することができるいくつかの方法を検討しました。この記事では、チキンフットで何ができるかという点で表面を引っ掻いただけです。可能性は大きく、想像力によってのみ制限されています!
    go("google.com") 
    click("Images")
    enter("koalas")
    click("Search Images button")
    もっと学ぶことに興味がある場合は、次のリソースをご覧ください。

    • CSAIL MITグループのプロジェクトページでのChickenfootの説明は、プロジェクトに関するいくつかの考えと、いくつかの学術論文へのリンクを提供します。これらのうち、マイケル・ボリンらによる論文。アル。 (PDF、0.41MB)にはかなりの多くの有用な例が含まれています
    • チキンフットウィキは、いくつかの例のスクリプトを提供しています。
    • チキンフットのさまざまな用途を示すGoogle教育トークをご覧ください。
  • キラースクリプトを作成する場合は、チキンフットウィキに提出することをお勧めします。幸せなスクリプト!

Web書き換えツールに関するよくある質問(FAQ)

Web書き換えツールの主な目的は何ですか?

​​

Web書き換えツールは、主にユーザーがコンテンツの言い換えまたは書き換えに役立つように設計されています。これは、既存のソースから一意のコンテンツを作成する必要があるコンテンツクリエーター、作家、学生、専門家にとって特に役立ちます。これらのツールは、高度なアルゴリズムと人工知能を使用して、書き直されたコンテンツが盗作を避けるために構造と言葉遣いを変更しながら元の意味を維持することを保証します。

学術的な目的でWeb書き換えツールを使用できますか?

Web書き換えツールは、コンテンツの言い換えに役立ちますが、特にアカデミックセットで他の仕事で盗用または誤って宣伝されるべきではありません。常に適切にソースを引用することを確認してください。

WebのAIの書き換えツールはどのように機能しますか?

Web書き換えツールのAIは、自然言語処理(NLP)を使用して、元のコンテンツのコンテキストと意味を理解します。次に、元の意図を維持しながら、コンテンツを再構築し、言い換えます。 hix.aiのようないくつかのツールは、高品質の書き換えにGPT-3のような高度なAIモデルを使用しています。

Web書き換えツールは安全に使用できますか?

​​

ほとんどのWeb書き換えツールは安全に使用できます。ただし、データの処理方法を理解するには、ツールのプライバシーポリシーを確認することが重要です。一部のツールは、処理のために一時的にコンテンツを保存する場合がありますが、通常はデータを保持したり共有したりしません。

Web書き換えツールは私のライティングスキルを向上させることができますか?また、新しい語彙を学び、文法を改善するのにも役立ちます。常に言語のサポートについてツールの仕様を確認してください。

Web書き換えツールを使用することに制限はありますか?

Web書き換えツールは強力ですが、常に人間の言語のニュアンスを完全にキャプチャするとは限りません。彼らは複雑な文や特定の専門用語に苦労するかもしれません。したがって、書き換えられたコンテンツを確認して編集することを常にお勧めします。

以上がチキンフットでウェブを書き直しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。