2

マリオネット経由で firefox の 2 つのインスタンスを作成するのは非常に困難です。インスタンスが 1 つあれば問題なく動作します。

マリオネットを有効にして Firefox を起動する:

firefox.exe -marionette

Pythonで制御する:

from marionette import Marionette
client = Marionette('localhost', port=2828)
client.start_session()
client.execute_script("alert('o hai there!');")

ここで、現在のクライアントの横に 2 番目のクライアントを追加したいと思います。クイック検索の結果、 --address コマンドが表示されました。

firefox.exe -marionette --address=localhost:2829

Python経由で制御しようとしています:

from marionette import Marionette
client = Marionette('localhost', port=2829)
client.start_session()
client.execute_script("alert('o hai there!');")

ただし、これを機能させることはできません。

error: [Errno 10061] No connection could be made because the target machine actively refused it

どんな助けでも大歓迎です。

4

1 に答える 1

5

Firefox が異なるポートでリッスンするようにするには、異なるプロファイルを使用する必要があります。firefox がこのプロファイルを使用していない場合は、以下を追加して保存し
ます。<path-to-profile>/prefs.js

user_pref("marionette.defaultPrefs.port", 2829);

次に、Firefox を次のように起動します。

firefox -marionette --profile <path-to-profile> --new-instance&

新しいプロファイルを作成するには;

$ mkdir new_profile
$ firefox --profile new_profile --new-instance

そしてFirefoxを閉じます。今、あなたは持っているでしょうnew_profile/prefs.js

于 2016-06-06T20:15:27.700 に答える