selenium 解决使用clear()无法清除Textarea标签的内容

在网页交互过程中遇到一个textarea标签,其内容在显示时存在但实际上并未在HTML中。尝试了多种方法,如clear(), send_keys(), JavaScript操作,均未成功。最终通过ActionChains实现双击选中并用键盘操作输入内容,问题得以解决。该问题突显了自动化测试中元素交互的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所要处理的Textarea标签长这样, 实现显示的时候是由内容的,但是在标签中并没有这些内容
标签
尝试过的方法有:

  1. 利用clear(),send_keys(),但是没有生效
web.find_element_by_id('projectContent').click()
web.find_element_by_id('projectContent').clear()
web.find_element_by_id('projectContent').send_keys('---test---')
  1. 利用JavaScript,同样也没有生效
jsStr = "var kw = document.getElementById('projectContent') ;kw.value='javascript';"
driver.execute_script(jsStr)
  1. 利用send_keys(),没有生效
 webElement.send_keys(Keys.CONTROL + "a");
 webElement.send_keys(Keys.DELETE);

最后使用了键盘操作,才解决这个问题。
先双击选中该标签元素,然后按下ctri+a,之后直接输入自己想要的内容

ActionChains(web).double_click(element).perform()
 # ctr + a
 ActionChains(web).key_down(Keys.CONTROL).key_down('a').key_up(Keys.CONTROL).perform()
 element.send_keys(‘test----------)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值