#python #selenium #xpath #inputbox
Вопрос:
Я пытаюсь отправить значение в поле ввода, но, что бы я ни пытался, это не работает. Я попробовал следующие способы с помощью HTML-кода, встроенного в эту ссылку:
time.sleep(3)
request_title = driver.find_element_by_xpath("//input[@class='proto-input-text connect-text-input__input-field ng-touched ng-dirty ng-valid']").click()
request_title[0].send_keys('Hello')
и
time.sleep(3)
request_title = driver.find_element_by_class_name('proto-input-text connect-text-input__input-field ng-touched ng-dirty ng-valid').click()
request_title[0].send_keys('Hello')
и
time.sleep(3)
driver.find_element_by_xpath("//input[contains(@class, 'proto-input-text connect-text-input__input-field ng-touched ng-dirty ng-valid')]").send_keys('Hello')
Но все они возвращают одну и ту же ошибку — заявляя, что «такого элемента нет».:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@class='proto-input-text connect-text-input__input-field ng-touched ng-dirty ng-valid']"}
Есть ли какая-либо другая конфигурация, чтобы это сработало ? т. е. с помощью CSS или чего-то еще ? Я действительно новичок в кодировании и понятия не имею, как работать дальше. Например, я пытаюсь отправить «Привет» в поле ввода.
Комментарии:
1. Ваши XPath кажутся мне правильными. У этой проблемы может быть несколько причин. Возможно, вам придется немного прокрутиться вниз, чтобы этот элемент был доступен для кликабельности
Selenium
. Или, может быть, этот элемент находится под анiframe
, и вам нужно переключиться на него. Чтобы четко определить проблему, мы должны просмотреть веб-страницу. Могу я любезно напомнить вам, чтобы вы указали URL-адрес веб-страницы на свой вопрос?2. Я думаю, это внутри рамки. Если это правда, то переключите кадр и попробуйте отправить текст.