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:
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
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/
.
3 Réponses :
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?
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é.
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
Ç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.
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>