Python Selenium-Debug a Simple Code with YouTube - PullRequest
0 голосов
/ 06 мая 2020

Я следовал этому руководству для Selenium с Python:

Итак, я сделал то же самое, что и руководство:

from selenium import webdriver

driver=webdriver.Chrome()
driver.get('https://www.youtube.com/')

searchbox = driver.find_element_by_xpath('//*[@id="search-input"]')
searchbox.send_keys('cooking')

Но я получаю эту ошибку:

Traceback (most recent call last):
  File "C:/ANGUS/DATA_ANALYSIS/WEBSCRAPING/TextXXX.py", line 7, in <module>
    searchbox.send_keys('cooking')
  File "C:\Users\Angus\PycharmProjects\Test\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 477, in send_keys
    self._execute(Command.SEND_KEYS_TO_ELEMENT,
  File "C:\Users\Angus\PycharmProjects\Test\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\Angus\PycharmProjects\Test\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Angus\PycharmProjects\Test\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
  (Session info: chrome=81.0.4044.138)

Как это исправить?

1 Ответ

0 голосов
/ 07 мая 2020

Другой способ сделать это, чтобы не использовать поиск, - это вставить сам запрос.

Код:

your_query = "cooking"

driver.get("https://www.youtube.com/results?search_query=" + str(your_query))

time.sleep(5)

Таким образом, это похоже на то, что вы собираетесь немедленно в выводе, который вы хотите после поиска по вашему запросу c. Итак, предположим, что вместо того, чтобы вводить готовку, вы можете .get () перейти к нужному URL-адресу, добавив свой запрос в этот URL-адрес.

...