Профиль Selenium Firefox отсутствует в Linux - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь заставить Selenium работать на виртуальной машине Ubuntu.У меня чертовски много времени, чтобы сделать это.Независимо от того, что я делаю, я всегда получаю следующий диалог:

Profile Missing

Мне не нужно использовать какой-либо конкретный профиль.Сначала я думал, что Selenium \ Gecko создает временный профиль для своего экземпляра.Ниже приведены все вещи, которые я пробовал.Кроме того, я также попытался запустить как sudo и \ или установить для владельца профиля значение nobody, а также установить разрешения для каталога профиля в 777.Ни один из которых не оказался плодотворным.Я видел другие сообщения SO по этому поводу, ни один из которых не дал мне ничего, что могло бы привести к ответу, и именно поэтому я здесь.

# create a new Firefox session
# binary = FirefoxBinary('/snap/bin/firefox')
# binary = FirefoxBinary('/usr/local/bin/geckodriver')
profile = webdriver.FirefoxProfile(profile_directory='/home/jaberwocky/snap/firefox/common/.mozilla/firefox/tm4nraze.selenium')
# profile.set_preference("browser.download.folderList",2)
# profile.set_preference("browser.download.manager.showWhenStarting",False)
# profile.set_preference("browser.download.dir", os.getcwd())
# profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")
driver = webdriver.Firefox(firefox_profile=profile)
driver.implicitly_wait(20)
driver.get(base_url)

python_button = driver.find_element_by_class_name('sh-hide')
python_button.click()

Selenium Version 3.141.0

Версия Firefox 65.0.2

Версия Python 3.7.2

Дистрибутив Linux Ubuntu Budgie 18.04.2 LTS

enter image description here

На самом деле не так много информации по этой проблеме.Что я здесь не так делаю?

Обновление: Я нашел файл журнала для каждого выполнения gecko.Вот что он показывает:

ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
/snap/firefox/185/bin/desktop-launch: line 174: /home/addohm/snap/firefox/common/.config/user-dirs.dirs: No such file or directory
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
cp: cannot create regular file '/home/addohm/snap/firefox/common/.config/': Not a directory
/snap/firefox/185/bin/desktop-launch: line 177: /home/addohm/snap/firefox/common/.config/user-dirs.dirs.md5sum: No such file or directory
/snap/firefox/185/bin/desktop-launch: line 177: /home/addohm/snap/firefox/common/.config/user-dirs.locale.md5sum: No such file or directory
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
1551441977454   mozrunner::runner   INFO    Running command: "/snap/bin/firefox" "-marionette" "-foreground" "-no-remote" "-profile" "/tmp/rust_mozprofile.kvmA0GU2ZdrC"
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
/snap/firefox/185/bin/desktop-launch: line 174: /home/addohm/snap/firefox/common/.config/user-dirs.dirs: No such file or directory
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
cp: cannot create regular file '/home/addohm/snap/firefox/common/.config/': Not a directory
/snap/firefox/185/bin/desktop-launch: line 177: /home/addohm/snap/firefox/common/.config/user-dirs.dirs.md5sum: No such file or directory
/snap/firefox/185/bin/desktop-launch: line 177: /home/addohm/snap/firefox/common/.config/user-dirs.locale.md5sum: No such file or directory
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/lib/$LIB/liblsp.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"

(firefox:27487): Gtk-WARNING **: Error loading theme icon 'dialog-warning' for stock: Icon 'dialog-warning' not present in theme Pocillo

Нет ~/snap/firefox/common/.config/, но есть ~/snap/firefox/current/.config/.

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Кажется, эта проблема напрямую связана с установкой Firefox с использованием Snap вместо apt.

Ссылка: https://ubuntuforums.org/showthread.php?t=2398478

Он работал прямо из шлюза без определенного профиля.

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

sudo apt install firefox
0 голосов
/ 02 июля 2019

Geckodriver пытается загрузить профиль из другого каталога как /home/username/snap/firefox..., поскольку он не настроен для установки с привязкой.Если вы все еще хотите использовать мгновенную установку, поскольку она предоставляет вам функции, которых не обеспечивает установка apt (как в моем случае), то вы все равно можете сделать это следующим образом:

from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument("-profile")
# put the root directory your default profile path here, you can check it by opening Firefox and then pasting 'about:profiles' into the url field 
options.add_argument("/home/username/snap/firefox/common/.mozilla/firefox/dhklfoeb.default-18236362302398")
browser=webdriver.Firefox(options=options)
0 голосов
/ 01 марта 2019

Кажется, что напрямую использовать профиль, созданный Firefox, не удастся.

Вы можете попытаться создать папку для копирования и использовать ее.

Что касается причины, по которой не удается напрямую выбрать профильподробности можно посмотреть здесь: webdriver.FirefoxProfile (): можно ли использовать профиль, не создав его копию?

...