'chromedriver' нуждайся в том, чтобы быть в PATH, но уже эта

Я хочу послать сообщение этой веб-странице с Пайтоном.

Это из-за того, что говорит делать следующее, но с python:

introducir la descripción de la imagen aquí

Поэтому я попробовал следующий рукописный шрифт с Selenium:

api_location = 'http://iphoneapp.spareroom.co.uk'
api_search_endpoint = 'flatshares'
api_details_endpoint = 'flatshares'

location = 'http://www.spareroom.co.uk'
details_endpoint = 'flatshare/flatshare_detail.pl?flatshare_id='
def contact_room(self, room_id):
    url = '{location}/{endpoint}/{id}?format=json'.format(location=self.api_location, endpoint=self.api_details_endpoint, id=room_id)
    from selenium import webdriver

    driver = webdriver.Chrome()
    # Go to your page url
    driver.get(url)
    # Get button you are going to click by its id ( also you could use find_element_by_css_selector to get element by css selector)
    button_element = driver.find_element_by_id('button id')
    button_element.click()

Но он возвращает меня:

C:\Users\antoi\Documents\Programming\projects\roomfinder>python test_message.py
Traceback (most recent call last):
  File "C:\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
    stdin=PIPE)
  File "C:\Python36\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Python36\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 "test_message.py", line 21, in 
    contact_room(13829371)
  File "test_message.py", line 14, in contact_room
    driver = webdriver.Chrome()  # Optional argument, if not specified will search path.
  File "C:\Python36\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
    self.service.start()
  File "C:\Python36\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: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

В то время как это добавил в PATH:

introducir la descripción de la imagen aquí

0
задан 07.11.2019, 12:09
3 ответа

Предотврати это используя webdriver менеджера, этот plugin загружает правильный и всегда обновленный webdriver. Установи это с pip install webdriver_manager, потом в твоем рукописном шрифте ты это импортируешь from webdriver_manager.chrome import ChromeDriverManager и потом это распределяешь в твой изменчивый драйвер driver = webdriver.Chrome(ChromeDriverManager().install()). Эта вещь solito загружает драйвер и это устанавливает, где он смог использовать это (/tmp) и ты забываешь навсегда; ИЛИ MГЎs info: https://github.com/SergeyPirogov/webdriver_manager

0
ответ дан 01.12.2019, 12:27

Ты можешь aГ±adirlo вручную в твой PATH Пайтона внутри:

import os
os.environ['PATH'] = 'C:/ruta/al/binario;'+os.environ['PATH']

Только не забывай точки с запятой в конце маршрута

0
ответ дан 01.12.2019, 12:27

Вї, Если ты открываешь CDM и пишешь, что chromedriver он говорит что-то тебе? В случае, если не выйдет ничто, значь, что он действительно не обнаружен в PATH

В случае, если он выйдет инициализируясь chromedriver, возможно, что проблема происходит от другого сайта.

В любом случае, есть две вещи, что podrГ-схвати пытаться посмотрим, они решают твою проблему, первого, включи chromedriver в том же каталоге, что и твой рукописный шрифт python (и он возобновляет IDE, чтобы видеть, функционирует ли оно)

Другая opciГіn, serГ, - чтобы менять она lГ-nea драйвер = webdriver. Chrome () и aГ±adir между ними parГ©ntesis маршрут, куда ты считаешь сохраняемыми chromedriver

-1
ответ дан 01.12.2019, 12:27