Как вы даете WWW::Mechanize::Firefox разрешение на запуск Firefox?


Я на Mac. У меня есть простой скрипт Perl, который использует WWW::Mechanize::Firefox, чтобы вытащить веб-страницу.

Скрипт отлично работает, когда Firefox уже открыт и запущен на моем компьютере. Вот строка, в которой создается объект:

my $mech = WWW::Mechanize::Firefox->new(
  launch => '/Applications/Firefox.app'
);

Однако, когда Firefox выключен и я запускаю скрипт, я получаю следующую ошибку:

exec failed: Permission denied at /Library/Perl/5.12/MozRepl/RemoteObject.pm line 463
 at /Library/Perl/5.12/MozRepl/RemoteObject.pm line 463

Что мне сделать, чтобы дать скрипту perl разрешение на запуск Firefox?

1 2

1 ответ:

Попробуйте:

my $mech = WWW::Mechanize::Firefox->new(
  launch => '/Applications/Firefox.app/Contents/MacOS/firefox'
);

/Applications/Firefox.app является оболочкой приложения и представляет собой каталог, содержащий различные файлы, составляющие приложение. Файл в Contents/MacOS/firefox внутри оболочки приложения является основным исполняемым файлом приложения.