NotADirectoryError:[Errno 20] 不是目录:“/home/ghost/automation/pwd/geckodriver”与 GeckoDrriver Firefox 和 Selenium 使用 Python3

4 python firefox selenium selenium-webdriver geckodriver

我正在使用 pycharm 和我的 pythn

版本 3.6.7 点 9.0.1

和硒版本 selenium-3.141.0 urllib3-1.24.1

我使用这个命令安装硒

pip3 install selenium  
Run Code Online (Sandbox Code Playgroud)

然后我这样编码

from selenium import webdriver

driver = webdriver.Firefox("/home/ghost/automation/pwd/geckodriver")

driver.set_page_load_timeout(30)
driver.get("https://www.google.com/")
driver.maximize_window()
driver.implicitly_wait(120)
driver.get_screenshot_as_file("google.png")
driver.quit()
Run Code Online (Sandbox Code Playgroud)

**当我运行这个我得到这个错误**

/home/ghost/PycharmProjects/try/venv/bin/python /home/ghost/PycharmProjects/try/open/testcas1.py
Traceback (most recent call last):
  File "/home/ghost/PycharmProjects/try/open/testcas1.py", line 3, in <module>
    driver = webdriver.Firefox("/home/ghost/automation/pwd/geckodriver")
  File "/home/ghost/PycharmProjects/try/venv/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 151, in __init__
    firefox_profile = FirefoxProfile(firefox_profile)
  File "/home/ghost/PycharmProjects/try/venv/lib/python3.6/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 80, in __init__
    ignore=shutil.ignore_patterns("parent.lock", "lock", ".parentlock"))
  File "/usr/lib/python3.6/shutil.py", line 309, in copytree
    names = os.listdir(src)
NotADirectoryError: [Errno 20] Not a directory: '/home/ghost/automation/pwd/geckodriver'

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

在这一行中 driver = webdriver.Firefox("/home/ghost/automation/pwd/geckodriver") ,我的geckodriver nd 我的geckodriver 版本的正确路径是 0.23.0

这些答案对我没有帮助

/sf/answers/2827955721/ /sf/answers/3006174251/

Deb*_*anB 10

简单来说

需要使用param键 executable_path

详情

在使用GeckoDriverFirefoxSelenium 时,您需要使用Key executable_pathValue设置为单引号内的GeckoDriver绝对路径,即使用正斜杠 ie作为路径分隔符,如下所示:'...'/

driver = webdriver.Firefox(executable_path='/home/ghost/automation/pwd/geckodriver')
Run Code Online (Sandbox Code Playgroud)

或使用默认位置

driver = webdriver.Firefox(executable_path=GeckoDriverManager(cache_valid_range=1).install())
Run Code Online (Sandbox Code Playgroud)