Python Selenium 设置路径到 firefox 配置文件(ubuntu)
Posted
技术标签:
【中文标题】Python Selenium 设置路径到 firefox 配置文件(ubuntu)【英文标题】:Python Selenium setting path to firefox profile (ubuntu) 【发布时间】:2016-06-25 07:47:18 【问题描述】:我已经使用 python 和 Selenium 在 Ubuntu 操作系统中设置了新创建的 Firefox 配置文件的路径。但是当我运行 python 脚本时出现错误
OSError: [Errno 13] Permission denied
我已将文件的权限更改为 755,但我仍然收到错误,还尝试了 sudo。
sudo chmod 775 /home/student/.mozilla/firefox/gwi6uqpe.Default\ User2/
这是我的 python 脚本的开始:-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.by import By
import sys, time
import time
binary = FirefoxBinary('/home/student/.mozilla/firefox/gwi6uqpe.Default User2')
browser = webdriver.Firefox(firefox_binary=binary)
这是错误信息。
Traceback (most recent call last):
文件“default2.py”,第 9 行,在 浏览器 = webdriver.Firefox(firefox_binary=binary) init 中的文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py”,第 78 行 self.binary,超时) init 中的文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py”,第 51 行 self.binary.launch_browser(self.profile, timeout=timeout) 文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py”,第 67 行,在 launch_browser self._start_from_profile_path(self.profile.path) _start_from_profile_path 中的文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py”,第 90 行 env=self._firefox_env) init 中的文件“/usr/lib/python2.7/subprocess.py”,第 710 行 读错,写错) _execute_child 中的文件“/usr/lib/python2.7/subprocess.py”,第 1327 行 引发 child_exception OSError: [Errno 13] 权限被拒绝
请问我该如何解决。
【问题讨论】:
【参考方案1】:在我的机器上,~/.mozilla/firefox 及其子目录具有 user:usergroup 700 权限。您的脚本是否由学生用户执行?否则,它将获得权限被拒绝。作为一个实验,您可以尝试授予 .mozilla/firefox 和 .mozilla/firefox/profiles 766 权限。我不会运行这样的生产环境,但您可以创建一个具有权限的组并将您的其他用户添加到该组。
编辑:FirefoxBinary 不是用于指定配置文件的内容。改用 FirefoxProfile:
profile = FirefoxProfile('/home/student/.mozilla/firefox/gwi6uqpe.Default')
browser = webdriver.Firefox(firefox_profile=profile)
【讨论】:
是的脚本正在被学生用户使用。我已尝试按照建议授予 766 权限,但仍然遇到相同的错误。谢谢。 我已经检查了文件和文件夹的用户权限并且都具有 rwx(读写执行) 感谢您的帮助。完美运行。【参考方案2】: baseurl = "https://www.google.co.in/"
driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
driver.maximize_window()
driver.get(baseurl)
【讨论】:
您能否解释一下为什么这有助于作者更好地理解您的解决方案。以上是关于Python Selenium 设置路径到 firefox 配置文件(ubuntu)的主要内容,如果未能解决你的问题,请参考以下文章
java+selenium——简单截图+时间+保存在某个路径
python selenium chrome headless中的文件下载路径设置不适用