用 selenium 从 textarea 中清除文本

新手上路,请多包涵

我进行了一些测试,检查当某些字段中的文本无效时是否出现正确的错误消息。一种有效性检查是某个文本区域元素不为空。

如果此文本区域中已有文本,我该如何告诉 selenium 清除该字段?

就像是:

 driver.get_element_by_id('foo').clear_field()

原文由 Isaac 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 858
2 个回答
driver.find_element_by_id('foo').clear()

原文由 Isaac 发布,翻译遵循 CC BY-SA 3.0 许可协议

选项 a)

如果要确保触发键盘事件,请考虑使用 sendKeys(CharSequence)

示例 1:

  from selenium.webdriver.common.keys import Keys
 # ...
 webElement.sendKeys(Keys.CONTROL + "a")
 webElement.sendKeys(Keys.DELETE)

示例 2:

  from selenium.webdriver.common.keys import Keys
 # ...
 webElement.sendKeys(Keys.BACK_SPACE)  //do repeatedly, e.g. in while loop

Web元素

获取所需WebElement的方式有很多种,例如:

  • driver.find_element_by_id
  • driver.find_element_by_xpath
  • driver.find_element

选项 b)

  webElement.clear()

如果此元素是文本输入元素,这将清除该值。

请注意,此事件触发的事件可能与您预期的不同。特别是,我们不会触发任何键盘或鼠标事件。

原文由 Fenix 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题