3

webdriverに機能を追加したいのですが、Java がまったくわからないので、まずはその仕組みを理解したいと思っています。私が得たように、Firefoxプラグイン(javascript)があり、その拡張機能がインストールされた状態でFirefoxを起動するJavaコードがあり、このJavaコードはローカルポートをリッスンし、コマンドを取得すると、JavaはそれをFirefoxプラグインに通知します、実際の仕事をします。Python コードは、ポート インターフェイスへのショートカットのセットにすぎません。これは正しいですか?

アップデート:

返信ありがとうございます。しかし、誰でも説明してもらえますか、なぜ私が alert('Hello world!');FirefoxDriver.prototype.deleteCookie = function(respond, cookieString) { に 追加してD:\webdriver-read-only\firefox\src\extension\components\firefoxDriver.js から実行すると

from webdriver_firefox.webdriver import WebDriver

wd = WebDriver()
wd.delete_all_cookies()

まだアラートが表示されません(ちなみに、エラーが発生します)Hello world!

4

1 に答える 1

4

ええ、あなたはそれを手に入れました。Java サーバーは、サーバーが制御できる特別な JavaScript 環境でブラウザーを制御します。サーバーは、http を介して与えられたコマンドをリッスンし、コマンドを受信すると、ブラウザーで文字列を取得して処理を実行します。webdriver の Python API は、webdriver サーバーに送信する正しい http コマンドを構築するコードです。Webdriver については、適切な説明や図がある場合とない場合がありますが、アーキテクチャは Selenium と非常に似ています (実際、Webdriver と Selenium は「Selenium 2」として互いにマージされています)。これは、Selenium ドキュメントからの同じアーキテクチャの概要です: how-selenium-rc-works

代替テキスト
(出典: openqa.org )

于 2009-11-28T21:39:30.163 に答える