#python #selenium
Вопрос:
В WebDriver, если я использую SendKeys, он добавит мою строку к значению, которое уже существует в поле. Я не могу очистить его с помощью метода clear (), потому что в ту же секунду, когда я это сделаю, веб-страница выдаст сообщение об ошибке, в котором говорится, что она должна превышать 1. Поэтому я не могу его очистить, иначе возникнет ошибка, прежде чем я смогу ввести новое значение с помощью SendKeys, и если я отправлю ключи, оно просто добавит его к уже имеющемуся значению.
Есть ли в WebDriver что-нибудь, что позволяет перезаписать значение в поле?
Ответ №1:
Нет, в принципе .clear()
должно сработать. но я сталкивался с этой проблемой несколько раз, она просто не работает. Кроме того, что вы подразумеваете под
выдаст ошибку, в которой говорится, что она должна быть больше 1.
Есть альтернативный способ, который в основном заключается в том, чтобы сделать control A, чтобы выделить весь текст, а затем нажать backspace.
код :-
from selenium.webdriver.common.keys import Keys
element.send_keys(Keys.CONTROL, 'a')
element.send_keys(Keys.BACKSPACE)
где элемент-это веб-элемент, в вашем случае-поле ввода.
Комментарии:
1. Какие файлы библиотеки thw нам нужны для этого
2. Это также должно быть импортировано
from selenium.webdriver.common.keys import Keys
, обновлено выше.3. Как мы можем определить элемент для имени housetax
4. Я не знаю, что именно вы спросили, но я думаю,
driver.find_elements_by_name('housetax')
это должно сработать, плюс не задавайте другой вопрос/выходящий за рамки вопроса в разделе комментариев, попробуйте вместо этого отправить новый билет.