NotADirectoryError: [Errno 20] Not a directory: '/home/ghost/automation/pwd/geckodriver' with GeckoDrriver Firefox and Selenium using Python3
im using pycharm and my pythn
version 3.6.7 pip 9.0.1
and selenium version selenium-3.141.0 urllib3-1.24.1
i install selenium using this commands
pip3 install selenium
then i code like this
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()
**when i run this i get this error **
/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
and in this line driver = webdriver.Firefox("/home/ghost/automation/pwd/geckodriver")
its correct path of my geckodriver
nd my geckodriver
version is 0.23.0
these answers are not help to me
https://stackoverflow.com/a/40399367/8337986 https://stackoverflow.com/a/42945346/8337986
Solution 1:
In Brief
Need to use the param key executable_path
In Details
While working with GeckoDriver, Firefox and Selenium, you need to use the Key executable_path
and the Value set to the absolute path of the GeckoDriver within single quotes i.e. '...'
with forward slash i.e. /
as path separator as follows:
driver = webdriver.Firefox(executable_path='/home/ghost/automation/pwd/geckodriver')
or use default location
driver = webdriver.Firefox(executable_path=GeckoDriverManager(cache_valid_range=1).install())