Как очистить текстовое поле пользовательского интерфейса материала с помощью веб-драйвера

пожалуйста, у меня проблема, что я не могу очистить текст, который находится в текстовом поле Material-Ui.

driver.findElement(By.id("CompanyNameField")).clear();

очистит поле, но при переходе на другую вкладку с

driver.findElement(By.id("CompanyNameField")).sendKeys(Keys.TAB)

приведет к тому, что ранее очищенное значение вернется в текстовое поле.

Пожалуйста, есть идеи, как очистить это поле навсегда? Спасибо


person Tommet    schedule 04.05.2017    source источник
comment
это происходит, когда вы вручную очищаете текст и используете тег для перехода к другому текстовому полю?   -  person Gaurang Shah    schedule 04.05.2017
comment
привет. нет. Кажется, что clear не запускает событие для компонента   -  person Tommet    schedule 04.05.2017
comment
что вы подразумеваете под этим не срабатывает событие для компонента. вы можете видеть, как поля очищаются после первой строки, не так ли? попробуйте поставить некоторое ожидание между двумя строками, а затем проверьте.   -  person Gaurang Shah    schedule 04.05.2017
comment
Я сделал. Но когда я пытаюсь даже получить текст из элемента, я получаю value={char[0]@4280} Честно говоря, я вообще не понял. Я довольно новичок в кодировании webdriver и вообще. Наверное, я спросил разработчиков, что здесь происходит. В любом случае спасибо за помощь   -  person Tommet    schedule 05.05.2017


Ответы (1)


Отправка клавиш возврата в форму у меня сработала:

from selenium.webdriver.common.keys import Keys

element = driver.find_element_by_css_selector(cssSelector)
for _ in element.get_attribute('value'):
    element.send_keys(Keys.BACKSPACE)
person adrianoesch    schedule 06.06.2018