Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Python: Web

Войти
Регистрация
Восстановить пароль
 
 
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
#1

Не работает selenium - Python

16.12.2016, 19:54. Просмотров 1179. Ответов 28
Метки нет (Все метки)

Пытаюсь запустить программу, написанную при помощи selenium и выдает такое:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Traceback (most recent call last):
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start
    stdout=self.log_file, stderr=self.log_file)
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 1224, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] Не удается найти указанный файл
 
During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
  File "C:\Users\Глеб\Desktop\Python\my-selenium.py", line 4, in <module>
    driver = webdriver.Firefox()
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 140, in __init__
    self.service.start()
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\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.
Что делать? Уже переустанавливал через pip. К слову, устанавливал тоже через pip. Пробовал добавлять папки с указанными файлами в переменную Path, перезапускал комп, ничего не помогает...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2016, 19:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает selenium (Python):

Selenium - Python
Не могу понять в чем проблема. Вылетает Firefox. Версия ФФ 45.0.2, python 3.4.3, selenium 2.53.6 Создается инстанс веб драйвера, и иногда...

Selenium+python - Python
Всем привет. Подскажите пожалуйста как работать с выпадающими списками? Пытаюсь сделать так theme = &quot;sirius&quot; themeSelect = ...

Selenium+PhantomJS - Python
Не могу понять в чем проблема. Парсю страничку kingtaro.com Проблема со временем, если я использую FireFox вебдрайвер, то все гуд. А если...

Threading и selenium - Python
Приветствую форумчан, никак не могу понять, в чем проблема. Собственно, вот мой код: import threading from queue import Queue from...

python+selenium - Python
Пытаюсь изучать python+selenium (python 2.7, selenium 2), тестирую портал. HTML код тестируюемой страницы &lt;div class=&quot;new_position&quot;&gt; &lt;a...

Добавление Selenium к Python - Python
Помогите разобраться что я делаю не так Добавляю Селениум с помощью пип инстал селениум Питон 2.7.10 (т.е. пип имеется изначально) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jabbson
Модератор
Эксперт по компьютерным сетям
3141 / 2219 / 455
Регистрация: 03.11.2009
Сообщений: 7,001
Записей в блоге: 3
16.12.2016, 22:20 #16
путь-то где прописан?
0
alex925
2504 / 2155 / 506
Регистрация: 19.03.2012
Сообщений: 8,349
16.12.2016, 22:35 #17
Python
1
2
3
4
from selenium import webdriver
 
driver = webdriver.Chrome(executable_path='пишешь тут путь')
driver.get('https://habrahabr.ru/')
0
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
16.12.2016, 23:56  [ТС] #18
Спасибо, я-то думал надо в системных переменных прописывать пути...

Впрочем, вот мой код, я прописал путь к папке, где находится само приложение хрома:

Python
1
2
3
4
5
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
 
driver = webdriver.Chrome(executable_path='C:\Program Files (x86)\Google\Chrome\Application')
driver.get('http://zismo.biz/')
Выдает это:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Traceback (most recent call last):
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start
    stdout=self.log_file, stderr=self.log_file)
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 1224, in _execute_child
    startupinfo)
PermissionError: [WinError 5] Отказано в доступе
 
During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
  File "C:\Users\Глеб\Desktop\Python\my-selenium.py", line 4, in <module>
    driver = webdriver.Chrome(executable_path='C:\Program Files (x86)\Google\Chrome\Application')
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 62, in __init__
    self.service.start()
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 86, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'Application' executable may have wrong permissions. Please see [url]https://sites.google.com/a/chromium.org/chromedriver/home[/url]
Добавлено через 1 минуту
Попробовал открыть всем доступ к данной папке, но выкидывает то же самое. Хз, что делать дальше...
0
alex925
2504 / 2155 / 506
Регистрация: 19.03.2012
Сообщений: 8,349
17.12.2016, 00:38 #19
weblord, потому что надо во 1 перед строкой вставить r
Python
1
driver = webdriver.Chrome(executable_path=r'C:\Program Files (x86)\Google\Chrome\Application')
во 2
Цитата Сообщение от weblord Посмотреть сообщение
C:\Program Files (x86)\Google\Chrome\Application
я вот тут не наблюдаю пути до бинарника, вижу путь до папки
0
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
17.12.2016, 12:36  [ТС] #20
Спасибо, принцип понял. Скачал лису, проделал то же самое, в итоге оно открывает браузер и ничего не делает.С гуглом такая же проблема. Вот мой код:

Python
1
2
3
4
5
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
 
driver = webdriver.Chrome(executable_path=r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe')
driver.get('https://habrahabr.ru/')
0
alex925
2504 / 2155 / 506
Регистрация: 19.03.2012
Сообщений: 8,349
17.12.2016, 12:39 #21
weblord, selenium поддерживает не все самые последние версии браузеров. Установи себе просто версию по старее.
0
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
17.12.2016, 12:47  [ТС] #22
Спасибо, какую версию можешь посоветовать, чтобы наверняка? И еще вопрос, можно ли сделать так, чтобы не показывался процесс выполнения кода (открывается браузер и пошло, а мне это мешает)?
0
alex925
2504 / 2155 / 506
Регистрация: 19.03.2012
Сообщений: 8,349
17.12.2016, 12:48 #23
Думается 45 версия лисы будет работать, а вообще тести
0
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
17.12.2016, 13:03  [ТС] #24
Ок, тестану. А можно ли сделать так, чтобы не показывался процесс выполнения кода (открывается браузер и пошло, а мне это мешает)?
0
alex925
2504 / 2155 / 506
Регистрация: 19.03.2012
Сообщений: 8,349
17.12.2016, 13:09 #25
Нет, только с помощью костылей или используй phantomjs.
1
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
17.12.2016, 14:00  [ТС] #26
Понятно. Тем временем скачал 42 версию лисы (45 не работала), все равно все стоит на месте...

Добавлено через 29 минут
Если запустить код и подождать пару минут, то выбивает такую ошибку:

Python
1
2
3
4
5
6
7
8
Traceback (most recent call last):
  File "C:\Users\Глеб\Desktop\Python\my-selenium.py", line 4, in <module>
    driver = webdriver.Firefox(executable_path=r'C:\Program Files\Mozilla Firefox\firefox.exe')
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 140, in __init__
    self.service.start()
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 102, in start
    raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service C:\Program Files\Mozilla Firefox\firefox.exe
Добавлено через 9 минут
Поможет кто-то?
0
Jabbson
Модератор
Эксперт по компьютерным сетям
3141 / 2219 / 455
Регистрация: 03.11.2009
Сообщений: 7,001
Записей в блоге: 3
17.12.2016, 19:28 #27
weblord,

WIN32: https://github.com/mozilla/geckodriv...11.1-win32.zip
WIN64: https://github.com/mozilla/geckodriv...11.1-win64.zip

Качаешь, разархивируешь, указываешь к этому путь в driver = webdriver.Firefox(executable_path='тут')

Добавлено через 9 минут
у меня в легкую открывает 50.1.0
1
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
17.12.2016, 19:45  [ТС] #28
Сделал, выбило это:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Traceback (most recent call last):
  File "C:\Users\Глеб\Desktop\Python\my-selenium.py", line 4, in <module>
    driver = webdriver.Firefox(executable_path=r'C:\geckodriver\geckodriver.exe')
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 150, in __init__
    keep_alive=True)
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 179, in start_session
    response = self.execute(Command.NEW_SESSION, capabilities)
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Глеб\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Missing 'marionetteProtocol' field in handshake
Может проблема в том, что у меня 43 версия лисы (я специально пониже версию скачал, чтобы ее принял селениум)?

Добавлено через 1 минуту
Причем у меня открывается браузер и не закрывается, просто выбивает эту ошибку в среде разработки

Добавлено через 7 минут
УРА, заработало (я переустановил лису на последнюю версию)! Спасибо большое!
0
Jabbson
Модератор
Эксперт по компьютерным сетям
3141 / 2219 / 455
Регистрация: 03.11.2009
Сообщений: 7,001
Записей в блоге: 3
17.12.2016, 19:45 #29
не за что, удачи.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2016, 19:45
Привет! Вот еще темы с ответами:

Selenium загрузка файла - Python
Допустим есть на файлообменнике файл, задача его загрузить. Находим элемент-ссылку, вызываем click(), загружается- все ок. Вопрос:...

Python Selenium и FireFox 48+ - Python
Недавно обнаружил что отвалился WebDriver FireFox т.е. раньше работало, а теперь перестало(после обновлений FF вероятно). Открывается...

Selenium поиск элемента - Python
Возможно ли найти такой элемент &lt;div onclick=&quot;jQuery( &amp;quot;#loginform&amp;quot; ).submit();&quot; style=&quot;cursor: pointer; position: relative;...

Selenium не запускает браузер - Python
Установил Selenium 3.0.0b3. Но до запуска браузера дело не доходит... Выдает следующее. Traceback (most recent call last): ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.12.2016, 19:45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru