无法清除栏位(clear())无法运作

时间:2019-10-04 12:38:56

标签: python selenium

我无法清除字段('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 :(得分:0)

清除也不总是对我有用。您可以尝试一些创造性的解决方案,例如循环使用Keys.Backspace。

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

您还可以尝试使用CTRL + A /退格组合键:

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

最后,您可以尝试使用Javascript:

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

最后一种可能是您试图清除的WebElement由于某些原因不接受按键。通常,Selenium在这种情况下会引发InvalidElementStateElementNotInteractable异常,但并非总是如此。如果这些解决方案都不起作用,则可以通过发布正在使用的页面的HTML进行操作,这将有所帮助。