Adding second instance of Firefox with Marionette (change port)

限于喜欢 提交于 2019-12-08 01:01:23

问题


I'm having great difficulties creating two instances of firefox via marionette. Having one instance works fine:

Starting up Firefox with marionette enabled:

firefox.exe -marionette

Controlling it with python:

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

Now I'd like to add a second client alongside the current one, a quick search resulted in the --address command:

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

Trying to control it via python:

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

I can't seem to get this to work, however:

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

Any help is greatly appreciated.


回答1:


You have to use different profiles to make firefox listen on different ports.
Edit <path-to-profile>/prefs.js add the following and save when firefox is not using this profile;

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

Now, start firefox as;

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

To create a new profile;

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

and close firefox. Now you'll have new_profile/prefs.js



来源:https://stackoverflow.com/questions/37514778/adding-second-instance-of-firefox-with-marionette-change-port

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!