JS脚本删除readonly属性
测试中常常碰到文本框不能操作的情况,如时间选择框,文件上传框,搜索输入框等。但是我们自动化时又需要对其进行操作,改怎么办呢?那就想办法去掉标签中readonly属性,然后再进行操作即可。比如选择框不能编辑,只能从下拉的选项中选择某个值。方法有二:
1、通过键盘事件实现:
def create_employee_leave_application(self):
self.normal_click(self.belong_organization)
self.find_element(self.belong_organization).send_keys(Keys.ARROW_DOWN,Keys.ENTER)
2、通过JS脚本实现:arguments[0]类似占位符的角色。删除属性之后,元素就可以编辑了,再按着常规思路正常进行输入/上传等操作即可。
def create_employee_leave_application(self):
date1 = self.find_element(self.belong_organization)
self.driver.execute_script('arguments[0].removeAttribute(\"readonly\")', date1)
self.normal_input_text(self.belong_organization,text='技术中心')