NotADirectoryError: \[WinError 267\] The directory name is invalid 错误,同时通过 Selenium Python 调用 Firefox

新手上路,请多包涵

我正在尝试使用 python 代码下面的 Selenium webdriver 调用 firefox 浏览器。

 from selenium import webdriver

# Initializing the WebDriver for Firefox browser
driver = webdriver.Firefox("C:\\selenium\\mozilla\\geckodriver.exe")
driver.set_page_load_timeout(30)
driver.maximize_window()
driver.get("https://www.google.com/")

# Closing the reference
driver.quit()

但它总是抛出如下错误,但这适用于 Chrome 浏览器。

 Traceback (most recent call last):
  File "C:/Python/Practice/FirefoxSample.py", line 8, in <module>
    driver = webdriver.Firefox("C:\\selenium\\mozilla\\geckodriver.exe")
  File "C:\Python\venv\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 139, in __init__
    firefox_profile = FirefoxProfile(firefox_profile)
  File "C:\Python\venv\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py", line 78, in __init__
    ignore=shutil.ignore_patterns("parent.lock", "lock", ".parentlock"))
  File "C:\Python\Python36-32\lib\shutil.py", line 309, in copytree
    names = os.listdir(src)
NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\selenium\\mozilla\\geckodriver.exe'

Process finished with exit code 1

我在这里错过了什么?

我也尝试过使用 pip 升级 selenium 包

pip install -U selenium

附加信息: 运行 Firefox 最新版本 (59.0.2)、Python (3.6.5) 和 Selenium Gecko webdriver (0.20.0)。不确定是否需要任何帮助。

原文由 CodeLeak 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 864
1 个回答

您需要处理以下几件事:

  • 您需要通过单个反斜杠传递 Key executable_path 以及引用 GeckoDriver 的绝对路径的 _值_,即 \ 以及原始 ie r 开关如下:
   from selenium import webdriver

  driver = webdriver.Firefox(executable_path=r'C:\selenium\mozilla\geckodriver.exe')
  driver.set_page_load_timeout(30)
  driver.get("https://www.google.com/")
  driver.quit()

  • 通过您的 IDE 清理 您的 _项目工作区_,并仅使用所需的依赖 项重建 您的项目。

  • 使用 CCleaner 工具清除执行 测试套件 前后的所有操作系统杂务。

  • 如果您的基本 Web 客户端 版本太旧,则通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 _Web 客户端_。

  • _重新启动系统_。

  • 执行你的 @Test

原文由 undetected Selenium 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题