I don’t know Pycharm – or Python well enough to troubleshoot just what went wrong. It seems top me as if this simply bit of code should execute but I get a jumble of text that says nothing to me.
Anyone else using Selenium get this error and know how to fix it?
The physical code –
"C:UsersNoah LintonPycharmProjectsEdgenuityBotvenvScriptspython.exe"
"C:/Users/Noah Linton/PycharmProjects/EdgenuityBot/Edgenuity Bot"
Traceback (most recent call last):
File "C:UsersNoah LintonPycharmProjectsEdgenuityBotvenvlibsite-
packagesseleniumwebdrivercommonservice.py", line 76, in start
stdin=PIPE)
File "C:Program Files (x86)Microsoft Visual
StudioSharedPython36_64Libsubprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "C:Program Files (x86)Microsoft Visual
StudioSharedPython36_64Libsubprocess.py", line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Noah Linton/PycharmProjects/EdgenuityBot/Edgenuity Bot", line
3, in <module>
driver = webdriver.Firefox()
File "C:UsersNoah LintonPycharmProjectsEdgenuityBotvenvlibsite-
packagesseleniumwebdriverfirefoxwebdriver.py", line 148, in __init__
self.service.start()
File "C:UsersNoah LintonPycharmProjectsEdgenuityBotvenvlibsite-
packagesseleniumwebdrivercommonservice.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver'
executable needs to be in PATH.
Process finished with exit code 1
The executive code
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://auth.edgenuity.com/Login/Login/Student")
button = driver.find_element_by_id('LoginSubmit')
button.click()
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
The error says it all :
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Which implies that GeckoDriver binary is not in the Classpath
While working with Selenium v3.x you have to download the latest GeckoDriver from this url and store it in your system and mention the absolute path while initiating the webdriver and Web Browser session as follows :
from selenium import webdriver
driver = webdriver.Firefox(executable_path="C:\path\to\geckodriver.exe")
driver.get("https://auth.edgenuity.com/Login/Login/Student")
button = driver.find_element_by_id('LoginSubmit')
button.click()
Method 2
For what little help it might be, the critical parts of the traceback are
FileNotFoundError: [WinError 2] The system cannot find the file specified line 3, in <module> driver = webdriver.Firefox() selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
It seems that the Firefox webdriver isn’t in the defined search path that your main program sees. There’s something called geckodriver that isn’t available.
Check your installation and configuration for this package. Consult with your class instructors and classmates for help. I suspect that the repair is something with your local set-up, beyond our knowledge here.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0