【问题标题】:SessionNotCreatedException: Message: permission denied while using geckodriver for Selenium using Python (in Windows 10)SessionNotCreatedException:消息:使用 Python 使用 geckodriver for Selenium 时权限被拒绝(在 Windows 10 中)
【发布时间】:2018-02-16 21:24:06
【问题描述】:

我已经下载了最新版本的 Firefox 和相应的(64 位)geckodriver。将 geckodriver 可执行文件的位置添加到 PATH。然而,当我执行以下代码时:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.google.com')

调用 Firefox,我得到以下错误:

Traceback (most recent call last):
  File "C:\Users\Karun\Documents\NJCC all data at once Selenium.py", line 2, in <module>
    browser = webdriver.Firefox()
  File "C:\Users\Karun\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 162, in __init__
    keep_alive=True)
  File "C:\Users\Karun\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 154, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Users\Karun\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 243, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\Karun\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Karun\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: permission denied

【问题讨论】:

  • 设置 PATH 后您是否重新启动了计算机?
  • 如果这不再是重复的,那么你需要解释为什么它不同

标签: python-3.x selenium selenium-webdriver mozilla geckodriver


【解决方案1】:

您看到的错误确实向我们暗示了可能出现的问题,如下所示:

Traceback (most recent call last):
  File "C:\Users\Karun\Documents\NJCC all data at once Selenium.py", line 2, in <module>
    browser = webdriver.Firefox()
selenium.common.exceptions.SessionNotCreatedException: Message: permission denied

虽然您提到您已将 geckodriver 可执行文件的位置添加到 PATH,但仍然面临上述错误,因此一个简单的解决方案是下载最新的 GeckoDrivermozilla/geckodriver 并传递 Key executable_path 以及 GeckoDriver 二进制文件的绝对路径的 Value,同时初始化 webdriverWeb Browser 实例如下:

from selenium import webdriver

driver=webdriver.Firefox(executable_path=r'C:\path\to\geckodriver.exe')
driver.get("http://www.google.com")
print("Page Title is : %s" %driver.title)
driver.quit()

另外确保您使用的是:

  • 最新的 JDK 版本即Java SE Development Kit 8u161
  • 最新的 Selenium Python 客户端Selenium 3.9.0
  • 最新的GeckoDriverGeckoDriver v0.19.1
  • 最新的 Firefox 版本,即 Firefox Quantum v58.0.2
  • 测试之前和之后从IDE中清理项目空间
  • 运行CCleaner 工具以在执行测试套件之前和之后清除操作系统的琐事。
  • 如果 Firefox 的基础版本太旧,请通过 Revo Uninstaller 卸载 Firefox 并安装最新的 GA 发布版本的 Firefox
  • 执行您的测试

【讨论】:

  • 感谢大家的贡献。我从硬盘驱动器中删除了所有 geckodriver 实例并重新安装了驱动程序,确保 PATH 包含我安装驱动程序并重新启动系统的目录。现在它工作正常。所以这可能是某种重复的情况。谢谢 - 感谢您的反馈。
猜你喜欢
  • 2018-09-27
  • 2022-07-21
  • 2019-08-25
  • 1970-01-01
  • 2019-03-25
  • 2017-10-03
  • 2017-04-04
  • 2019-11-20
相关资源
最近更新 更多