Python Webdriverはどのように機能しますか?
-
06-07-2019 - |
質問
webdriver にいくつかの機能を追加したいのですが、知らないのでJavaの場合、最初に動作する方法を理解したいと思います。だから、Firefoxプラグイン(javascript)があり、その拡張機能がインストールされたFirefoxを起動するJavaコードがあり、このJavaコードはローカルポートをリッスンし、コマンドを取得すると、Firefoxプラグインにjavaシグナルを送ります、実際の仕事をします。また、Pythonコードは、ポートインターフェイスへのショートカットのセットにすぎません。これは正しいですか?
更新:
反応、malatioに感謝します。しかし、誰が説明してください、なぜ私が追加するとき
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!
アラートを表示します(そしてエラー、ところで)
解決
そうだね。 Javaサーバーは、サーバーが制御できる特別なJavaScript環境でブラウザーを制御します。サーバーは、httpを介して与えられたコマンドをリッスンし、コマンドを受信すると、ブラウザーで文字列をプルして処理を行います。 webdriver用のPython APIは、webdriverサーバーに送信する正しいhttpコマンドを構築するコードです。 Webdriverの場合、これについての適切な説明または図が存在する場合とそうでない場合がありますが、アーキテクチャはSeleniumでも非常によく似ています(実際、WebdriverとSeleniumは「Selenium 2」として互いにマージされています)。 Selenium docsからの同じアーキテクチャの概要は次のとおりです。 how-selenium- rc-works
(ソース: openqa.org )