python - 如何在只读模式下设置输入的值
问题描述
下图是我要编辑的文本字段。
现在,当我尝试执行以下操作时:
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">
^ 这是输入元素的代码。当您单击此元素时,它会打开一个日历并显示日期,但我不想经历单击日期的麻烦。我只想更改输入的值。有什么办法可以做到吗?
解决方案
您可以“作弊”以实现打字目标。
删除只读属性。
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");
推荐阅读
- flutter - 从类调用函数给我一个错误
- spring-cloud - 自动更新不尊重更改的项目
- mongodb - 安装解析时我是否需要安装 mongodb-runner 即使已经安装了 mongodb
- laravel-5.8 - 未找到列:1054“字段列表”中的未知列“_method”
- c# - 有什么方法可以从一个大列表中获取随机项目而不改变整个项目?
- python - RSS feedparser 到 MySQL 数据库未填充
- java - 如何通过按钮打开的对话框中的操作按钮打开另一个活动?
- python - PyInstaller: PermissionError: [Errno 13] Permission denied: 'C:\\Users\\user123\\AppData\\Roaming\\pyinstaller\\bincache00_py37_32bit
- pandas - 如何在熊猫中做系列运算符?
- c++ - 结构中的递归shared_ptr在重置时抛出错误