2016-12-06 3 views
0

Я пытаюсь создать базовый скрипт python для подключения к веб-браузеру с использованием пакета selenium. Журнал ошибок, как показано ниже, размещен ниже.ошибка при использовании пакета python-selenium

Traceback (most recent call last): 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start 
    stdout=self.log_file, stderr=self.log_file) 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\subprocess.py", line 947, in __init__ 
    restore_signals, start_new_session) 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\subprocess.py", line 1224, in _execute_child 
    startupinfo) 
FileNotFoundError: [WinError 2] The system cannot find the file specified 

Во время обработки вышеуказанного исключения, другое исключение произошло:

Traceback (most recent call last): 
    File "F:/WinPython/WinPython-64bit-3.5.2.3Qt5/python-3.5.2.amd64/py_codes/python_org_search.py", line 4, in <module> 
    driver = webdriver.Firefox() 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 140, in __init__ 
    self.service.start() 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start 
    os.path.basename(self.path), self.start_error_message) 
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 
+0

Журнала исключений недостаточно, чтобы понять проблему. Показать код также – Andersson

+0

Дубликат http://stackoverflow.com/questions/40208051/selenium-using-python-geckodriver-executable-needs-to-be-in-path, который уже имеет ответ – CJC

+0

@ Andersson вот код от импорта селена WebDriver из selenium.webdriver.common.keys импорта ключей драйвер = webdriver.Firefox() driver.get ("http://www.python.org") утверждают "Python" в driver.title элем = driver.find_element_by_name ("д") elem.clear() elem.send_keys ("PyCon") elem.send_keys (Keys.RETURN) утверждают "не найдено." не в driver.page_source driver.close() – Anjishnu

ответ

0

От selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH., то ясно, что вам нужно добавить geckodriver в путь системы, более конкретно папку, содержащую geckodriver.exe должны быть добавлен к системному пути.

Для этого запустите cmd.exe в качестве администратора и выполнить следующую команду:

setx path "%path%;C:\Path\to\geckodriver.exe\;" 

Replace C:\Path\to\geckodriver.exe\ с точным путем к папке, содержащей geckodriver.exe

Edit:

Вы можете скачать exe файл https://github.com/mozilla/geckodriver/releases, извлеките его где-нибудь, допустим, C:\geckodriver. Теперь у вас есть файл C:\geckodriver\geckodriver.exe, и вам нужно добавить C:\geckodriver к вашему системному пути. И запустите свой скрипт в новой консоли.

+0

нет geckodriver.exe все, что я нашел, был txt-файлом с именем geckodriver, который был сгенерирован в той же папке, в которой находился файл python, содержащий код. @ettanany – Anjishnu

+0

Посмотрите в моем отредактированном ответе, если вы ранее не загружали и не извлекали exe-файл, вам нужно будет сделать это, выполнив приведенную выше ссылку. – ettanany

Смежные вопросы