selenium.common.exceptions.WebDriverException:消息:“ geckodriver”可执行文件必须在GeckoDriver Selenium Firefox的PATH中


问题内容

我不了解Pycharm-或Python足够好以解决问题所在。在我看来,似乎应该执行这些简单的代码,但我却收到一堆乱七八糟的文字,对我什么也没说。

其他使用Selenium的人都会收到此错误,知道如何解决吗?物理代码-

"C:\Users\Noah Linton\PycharmProjects\EdgenuityBot\venv\Scripts\python.exe" 
"C:/Users/Noah Linton/PycharmProjects/EdgenuityBot/Edgenuity Bot"
Traceback (most recent call last):
  File "C:\Users\Noah Linton\PycharmProjects\EdgenuityBot\venv\lib\site-
packages\selenium\webdriver\common\service.py", line 76, in start
    stdin=PIPE)
  File "C:\Program Files (x86)\Microsoft Visual 
Studio\Shared\Python36_64\Lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Program Files (x86)\Microsoft Visual 
Studio\Shared\Python36_64\Lib\subprocess.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:\Users\Noah Linton\PycharmProjects\EdgenuityBot\venv\lib\site-
packages\selenium\webdriver\firefox\webdriver.py", line 148, in __init__
self.service.start()
File "C:\Users\Noah Linton\PycharmProjects\EdgenuityBot\venv\lib\site-
packages\selenium\webdriver\common\service.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

执行代码

 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()

问题答案:

错误说明了一切:

selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

这意味着 GeckoDriver 二进制文件不在 Classpath中

使用 Selenium v​​3.x时, 您必须从该
URL
下载最新的 GeckoDriver
并将其存储在系统中,并在启动 WebdriverWeb Browser 会话时提及绝对路径,如下所示:
__

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()