问题描述:页面元素使用的是xpath定位方法,也获取到对应元素,但是在执行自动化时候还是会报:Message: element not interactable
1.这个时候就要考虑使用driver.execute_script() 的方法:
https://blog.csdn.net/weixin_46190208/article/details/139677569?spm=1001.2014.3001.5501
具体实例代码如下:
#以下是选择框的操作方式
chglr_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '定位元素的信息')))
#让选项弹出
driver.execute_script("$(arguments[0]).click()",chglr_input)
#接着写入对应选择框内容标签
element_with_text = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//li[@data-v-3de414e2='']//span[contains(text(), '选择框1')]")))
#再次点击弹出的某个指定值
driver.execute_script("$(arguments[0]).click()",element_with_text)
#输入框的操作:
#先定位到输入框的位置
jgjcsetting = WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.XPATH, '定位元素的信息')))
#使用focus聚焦后再开始输入操作
driver.execute_script("arguments[0].focus();", jgjcsetting)
#输入对应的内容,
jgjcsetting.send_keys("输入测试内容")
#如果使用value 方法,会导致页面元素只存在点击操作,导致输入内容会失败,最好就是使用focus进行操作
driver.execute_script("arguments[0].value = '你好'", element)