为了账号安全,请及时绑定邮箱和手机立即绑定

如何在只读模式下设置输入值

如何在只读模式下设置输入值

aluckdog 2021-12-17 16:29:37
下图是我要编辑的文本字段。现在,当我尝试执行以下操作时:c7 = driver.find_element_by_xpath("/html/body/div[@id='root']/div[@id='wrapper']/div[1]/div[@class='navbar-index']/div[@class='navbar-flex']/div[2]/div[@class='left-flex']/div[@class='modal-background-withmodal']/div[@class='modal-body']/div[@class='modal-container']/div[@class='modal-content']/div[@class='add-opportunity-modal-form']/div[@class='form-main-flex'][3]/div[@class='form-field-50'][2]/div[@class='form-input-field']/span[@class='ant-calendar-picker']/div/input[@class='ant-calendar-picker-input ant-input']")driver.execute_script("arguments[0].value = 'Mar 31, 2019';", c7)它不会更改输入的值,因为它是只读格式。<input readonly="" value="Mar 27, 2019" placeholder="Select date" class="ant-calendar-picker-input ant-input">^ 这是输入元素的代码。当您单击此元素时,它会打开一个日历并显示日期,但我不想经历单击日期的麻烦。我只想改变输入的值。有什么办法可以做到吗?
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

你可以“作弊”一点来实现打字目标。

删除只读属性。

driver.execute_script("document.getElementsByClassName('ant-calendar-picker-input')[0].removeAttribute('readonly'));

并打字:

driver.find_elements_by_css_selector(".ant-calendar-picker-input").send_keys("Mar 31, 2019");



查看完整回答
反对 回复 2021-12-17
?
SMILET

TA贡献1796条经验 获得超4个赞

单击所需日期的按钮并不难。应该只是

driver.find_element_by_xpath(“//input[@value = ‘Mar 31, 2019’]”).click()

我不认为改变那个只读输入元素的值会带来多大的好处,除非可能会破坏网页。


查看完整回答
反对 回复 2021-12-17
  • 2 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信