3
votes

Profil Selenium Firefox manquant sous Linux

J'essaye de faire fonctionner Selenium sur une VM Ubuntu. Je passe beaucoup de temps à le faire. Quoi que je fasse, j'obtiens toujours le dialogue suivant:

 Profil manquant

Je n'ai pas besoin d'utiliser de profil en particulier. J'ai d'abord pensé que Selenium \ Gecko crée un profil temporaire pour son exemple. Voici toutes les choses que j'ai essayées. De plus, j'ai également essayé d'exécuter en tant que sudo, et / ou de définir la propriété du profil sur personne ainsi que de définir les autorisations du répertoire de profil sur 777 . Aucun d'entre eux ne s'est avéré fructueux. J'ai vu d'autres messages SO à ce sujet, dont aucun ne m'a fourni quoi que ce soit menant à une réponse, c'est évidemment pourquoi je suis ici.

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

Version Selenium 3.141.0

Version de Firefox 65.0.2

Version de Python 3.7.2

Distribution Linux Ubuntu Budgie 18.04.2 LTS

entrez la description de l'image ici

Il n'y a vraiment pas beaucoup de informations là-bas sur ce problème. Qu'est-ce que je fais mal ici?

Mise à jour: J'ai trouvé un fichier journal pour chaque exécution de gecko. Voici ce qu'il montre:

# 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()

Il n'y a pas de ~ / snap / firefox / common / .config / mais il y a un ~ /snap/firefox/current/.config/ .


0 commentaires

3 Réponses :


0
votes

Il semble que l'utilisation directe d'un profil créé par Firefox échouera.

Vous pouvez essayer de créer un dossier de copie et de l'utiliser.

Quant à la raison pour laquelle la sélection directe du profil échoue, vous pouvez afficher les détails ici: webdriver.FirefoxProfile (): Est-il possible d'utiliser un profil sans en faire une copie?


1 commentaires

Je n'ai peut-être pas été clair dans ma question. Je n'ai pas besoin d'utiliser de profil particulier. J'ai seulement commencé à jouer avec ce profil à cause de cette erreur. Quoi qu'il en soit, j'ai vu le message que vous avez partagé mais je n'en ai pas profité.



9
votes

Il semble que ce problème soit directement lié à l'installation de Firefox en utilisant Snap au lieu de apt .

Référence: https://ubuntuforums.org/showthread.php?t=2398478

Cela a fonctionné dès le départ sans profil spécifique.

Malheureusement, si vous installez Firefox en utilisant le gestionnaire de progiciels intégré, il s'installera via snap. Alors faites attention à cela et installez avec:

sudo apt install firefox


1 commentaires

Ça marche. Mais la raison peut être différente. Nous devons être conscients qu'Ubuntu propose sa propre version compilée de Firefox. Cela pourrait me gâcher.



0
votes

Geckodriver essaie de charger le profil depuis un répertoire différent comme / home / username / snap / firefox ... car il n'est pas configuré pour l'installation instantanée. Si vous souhaitez toujours utiliser l'installation instantanée, car elle vous offre des fonctionnalités que l'installation apt ne fournit pas (comme dans mon cas), vous pouvez toujours le faire de cette façon:

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)

p>


0 commentaires