2011-01-13 2 views
2

У меня есть сценарий оболочки, который создает профили Firefox, а затем использует их для одновременного открытия нескольких экземпляров Firefox. Проблема в том, как я могу открыть URL-адрес в конкретном экземпляре Firefox?Из сценария оболочки открываем новую вкладку в конкретном экземпляре Firefox

Я попытался

firefox -CREATEPROFILE test 
firefox -P test -no-remote 
firefox -P test -url www.google.ie 

Но последняя часть, которая пытается открыть URL с помощью тестового профиля не работает, он всегда открывается в профиле по умолчанию.

Есть ли способ сообщить Firefox из командной строки, чтобы открыть URL-адрес с использованием определенного профиля?

Спасибо.

EDIT: Я использую Linux, я не думаю, что он может делать то, что я хочу делать из командной строки (однако параметры командной строки Firefox не полностью документированы, чтобы это было возможно). Одним из решений моей проблемы было бы использование JavaScript для открытия вкладок после того, как браузер был выполнен. Я думаю, что изменение профиля по умолчанию для профиля, который я хочу открыть каждый раз, когда я хочу загрузить новый URL, также может работать. Это потребует изменений в profiles.ini каждый раз при загрузке нового URL-адреса. Я не тестировал это, но выглядит многообещающим.

+0

+1 - для сумасшедшей идеи – ajreal

+0

Обратите внимание, что '-P 'test'' и' -P test' совпадают. Ваша оболочка будет оценивать кавычки и к моменту, когда firefox увидит параметр, которого они не там. Кстати, вы посмотрели на '-a'? – Sorpigal

+0

Вы находитесь под unix, windows или mac? – Twister

ответ

2

Да это можно сделать, изменить ваш Profiles.ini (/home/username/.mozilla/firefox /profiles.ini), чтобы изменить профиль по умолчанию каждый раз, когда вы хотите открыть URL-адрес в другом профиле.

Я знаю, что это немного боль, но это работает, и это единственный способ сделать это. Теперь я могу одновременно открывать несколько экземпляров/профилей Firefox и открывать новые вкладки, в которых когда-либо экземпляр, который я хочу получить из сценария оболочки.

YAY!

1

К сожалению, Firefox поддерживает только один удаленный профиль за раз, поэтому все ваши командные строки должны быть удалены в один и тот же процесс. (Mozilla Suite для Linux поддерживал дистанционный пул, но затем он не поддерживал флаг -profile.)

С другой стороны, если вы знаете все URL-адреса, которые вы хотите загрузить заранее, то вы можете просто передать их все в командной строке Firefox, объединенные с | символами (но цитируются, чтобы остановить интерпретацию оболочки). Так, например, если вы хотите, чтобы начать новый экземпляр test профиля открытия страницы www.google.ie (только), используйте firefox -no-remote -P test -browser www.google.ie

+0

Спасибо Neil, я решил использовать метод JavaScript, упомянутый в моем ответе, чтобы сделать то, что я хотел сделать. – toc777

Смежные вопросы