Как да изчистите текстовото поле на потребителския интерфейс на материала с уебдрайвер

моля, имам проблем, че не мога да изчистя текст, който е в текстовото поле 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 adn кодиране изобщо. Вероятно трябва да попитам разработчиците какво става тук. Както и да е, благодаря за помощта   -  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