selenium的clear()失效的问题

这篇具有很好参考价值的文章主要介绍了selenium的clear()失效的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在我绑定一个ID后,输入第一个数据,clear()清空后,在输入第二个,但是clear始终失效。
在百般查询后,看到这个博客

如果元素定位到了,但是clear没有效果,根本原因是:存在镜像节点. 操作clear()清掉数据后,
镜像节点的数据还在,所以数据会补充回去

觉得很有道理,应该clear并没有清除本地浏览器上面input输入的数据,它仍然保存在浏览器上面。

另外一个说法:

clear()方法注释: /**

  • If this element is a form entry element, this will reset its value.
  • See W3C WebDriver specification
  • and HTML
    specification
  • for more details.
  • */ void clear();
    所以clear()应该是只对form里的表单元素生效,不是则无效。

最终我是采用了ctrl+A全选的办法解决的。
代码如下:文章来源地址https://www.toymoban.com/news/detail-416958.html

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
##webdriver 对象选择的元素是整个页面,而webrlrment对象选择的元素的范围是该元素的内部
##webdriver对象有个implicitly_wait,称之为隐式等待或全局等待,该方法接受一个参数,用来指定最大时长

wd=webdriver.Chrome()  #将chromedriver.exe的目录放在环境变量中,即可不用调用service,直接调用浏览器

wd.get('https://www.baidu.com')

element=wd.find_element(By.ID,'kw')   #找到input标签的的ID
element.send_keys('大树\n')           #输入字符,\n回车键进行搜索


time.sleep(1)
#element.clear()    #clear()方法不起作用,注释掉

element.send_keys(Keys.CONTROL, 'a')    #通过全选上一个数据,再进行更改
element=wd.find_element(By.ID,'kw')            #找到input标签的的ID
element.send_keys('花朵\n')
input()

到了这里,关于selenium的clear()失效的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium登录页面点击登录页面没有跳转问题(click()失效)

    对于一般的登录界面的登录按钮用xpath定位元素再点击就可以进入页面,但是如果登录不是一个按钮而是一张图片,这时我们该怎么定位并登录成功呢? 比如下面这个登录,并不是按钮而是一个div,div里面放了图片 一开始我用了xpath定位,但是结果就是不报错也没有跳转到登录

    2024年02月08日
    浏览(32)
  • selenium+python:clear不生效时,处理清空input框内容

    做selenium自动化时,有时想清楚input框内的内容,但是使用clear却不生效,可以采用其他思路代替clear,就是使用键盘输入ctrl+a,再delete,这样就可以了

    2024年02月05日
    浏览(23)
  • vue3使用响应式数据 + v-model导致响应式失效el-form表单无法输入的问题

    参考文章 重构vue2项目时发现的问题,原始项目使用的是 Element-ui 。 其实vue3可以使用适配的 Element-plus 问题描述 el-form表单无法输入 控制台报错 Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option. 使用响应式变量时应先声明 解决办法

    2024年02月15日
    浏览(31)
  • Selenium||解决给元素输入文本失败问题

    最近在基于selenium+python框架学习WEB自动化测试,在尝试对textarea控件直接使用send_keys()方法进行输入文本操作时,报错了,提示输入失败,界面上效果看也未能成功实现文本信息输入。 textarea控件内设置了默认值(placeholder=“请输入你要翻译的文字或网址”),导致不能直接用

    2024年02月13日
    浏览(33)
  • git:一个本地仓库绑定多个远程的方法以及遇到的问题

    绑定方法见知乎大佬:本地Git仓库关联多个远程仓库的两种方法 一般情况下,没人这么搞! 但是公司迁移git仓库阶段,xx云环境上的gitlab要有操作记录,不然影响整体评分,这就不得一个本地仓库关联了原来的仓库+新的xx云环境的仓库 我才用的是上述文章里的第二种方式:

    2024年02月09日
    浏览(40)
  • toastr js clear 不成功的一个原因和解决办法

    在系统里使用了 toastr js 即时弹出后台通知。toastr 支持先后显示多个弹出消息,这点很好。然后我又加了自定义样式,使得消息通知更好看些。 我的想法是通知消息显示一段时间后关闭;也可点击关闭按钮,关闭通知并标记已读;或者点击通知消息中的链接查看通知相关的内

    2024年02月17日
    浏览(27)
  • AopContext.currentProxy的原理和实战(解决同一个类中方法嵌套事务的失效问题)

    @EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true) public class TransactionTest {       /**      * 方法A没事务      *      * @param      * @return void      */     public String A(){         System.out.println(\\\"A方法执行开始!!!\\\");         //生成TransactionTest代理类,再调用B方法,B的事

    2024年02月01日
    浏览(67)
  • C++ map clear内存泄漏问题

    map自带的clear()函数会清空map里存储的所有内容,但如果map值存储的是指针,则里面的值不会被清空,会造成内存泄漏,所以值为指针的map必须用迭代器清空。 使用erase迭代删除 迭代器删除值为指针的map,一定要注意迭代器使用正确,一旦迭代器失效程序就会崩溃。 调用cle

    2024年02月09日
    浏览(28)
  • CentOS下多网卡绑定多IP段时导致只有一个会通的问题解决

    CentOS下多网卡绑定多IP段时导致只有一个会通的问题解决 虚拟机配置多个网络地址,结果同时只能有一个ip是通的, 原因:Linux默认开启了反向路由检查导致的,比如说外面访问eth0的网卡,而网关在eth1上,又或者从eth0出的流量,而网关在eth1上,此时会检查到网关不在同一个

    2024年02月10日
    浏览(30)
  • uniapp微信小程序 实现评论键盘弹出的时候 有两个输入框,第一个输入框被禁用并绑定了点击事件,点击后想要触发第二个输入框获取焦点并弹出键盘。但是在 iOS 真机上点击后键盘会短暂失去焦点

    问题 :我现在有一个需求就是 要实现输入评论  有两个输入框,第一个输入框被禁用并绑定了点击事件,点击后想要触发第二个输入框获取焦点并弹出键盘。但是在 iOS 真机上点击后键盘会短暂失去焦点  安卓真机测试没有问题 原因 : 1. iOS 上输入框聚焦有一个显式的动画过

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包