Не удается очистить поле (очистить ()) не работает - PullRequest
0 голосов
/ 04 октября 2019

Я не могу очистить поле ('text1)' для ввода нового текста ('text2')

self.driver.find_element_by_id('serviceName').click()
self.driver.find_element_by_id('serviceName').clear()
self.driver.find_element_by_id('serviceName').send_keys('text2')

1 Ответ

0 голосов
/ 04 октября 2019

Очистить тоже не всегда работает для меня. Вы можете попробовать несколько креативных решений, таких как Keys.Backspace в цикле.

def clear_element(element):
    length = len(element.get_attribute('value'))
    element.send_keys(length * Keys.BACKSPACE)

Вы также можете попробовать комбинацию CTRL + A / Backspace:

element.send_keys(Keys.CONTROL, 'a')
element.send_keys(Keys.BACKSPACE)

Наконец, выможете попробовать Javascript:

driver.execute_script("arguments[0].value = '';", element)

Окончательная возможность может состоять в том, что WebElement, который вы пытаетесь очистить, не принимает нажатия клавиш по какой-то причине. Обычно, Selenium с исключением InvalidElementState или ElementNotInteractable, если это так, но не всегда. Если ни одно из этих решений не работает, вы можете опубликовать HTML-код используемой вами страницы, и это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...