Python selenium3 IE11及 chrome 关于readonly 属性移除的乌龙

碰到selenium控制输入日期类input控件时,由于HTML网页中采用了类似
<input type=“text” name=“card_end_date_disp” size=“12” value=“2022-07-11r” οnclick=“calendar.show(this);” readonly=“readonly” class=“calimg”>
的语句,输入该位置的日期时,必须先移去 readonly属性。网上这类文章还挺多,一般是调用js ,多数针对 input 中有ID 标识的。
js=“document.getElementById(‘xxx’).removeAttribute(‘readonly’)”
browser.execute_script(js)
然后按一般的selenium的find_element_by_id(‘xxx’).send_keys(‘2032-12-31’)的办法。
为此我还认真去学习了js全套教程。
由于我的应用中 input 定位没有ID,只有name=“card_end_date_disp”,自然会使用js=“document.getElementsByName(“card_end_date_disp”)[0].removeAttribute(‘readonly’)“去完成。
结果在不同的浏览器中出了乌龙,chrome中这种写法完全可行。到了IE中死活不对。报错:InvalidElementStateException:Element must not be read-only or disabled.
明显是removeAttibute方法没有起作用。
换种写法:
inpu_xpos=browser.find_element_by_xpath(va) #va 是xpath标识定位串
browser.execute_script(“argume

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值