当输入框的值为前端渲染时,无法获取输入框的值,clear方法无法对输入框进行清空,提示Element is not currently interactable and may not be mani


最近做自动化的时候遇到页面输入框值为前端渲染的情况,在HTML中无法获取到值,也没办法使用clear方法情况

如图:

可以看到在HTML中是没有testing这个值的,这种情况如果想要输入前清空输入框中的值,使用selenium的clear方法,

会提示元素交互错误 invalid element state: Element is not currently interactable and may not be manipulated

暂时未找到解决无法通过selenium获取页面值的办法,但可以使用selenium进行剪切操作,之后使用python中可以获取到剪切板值的库,来实现获取input中值的操作

from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys#导入Keys库
import pyperclip #导入pyperclip库
input = driver.find_element(By.XPATH, '元素') #获取页面元素
input.send_Keys(Keys.CONTROL+"a") #模拟键盘全选
input.send_Keys(Keys.CONTROL+"c") #模拟键盘复制
vls = pyperclip.paste() #获取剪切板信息
print(vls)

清空输入框可以使用selenium的模拟键盘操作,将输入框中的值全选后删除

from selenium.Webdriver.common.keys import Keys #导入Keys库

input = driver.find_element(By.XPATH, '元素')#获取页面元素
input.send_keys(Keys.CONTROL + "a") #模拟Ctrl+A全选输入框中的值
input.send_keys(Keys.BACKSPACE) #模拟删除操作

相关