Vba 是否有方法在显示HTML的网页上输入值?
我正在尝试通过web自动化输入一个值。我可以在屏幕截图中用HTML输入值吗Vba 是否有方法在显示HTML的网页上输入值?,vba,webautomation,Vba,Webautomation,我正在尝试通过web自动化输入一个值。我可以在屏幕截图中用HTML输入值吗 Set objinputs = objIE.document.getElementsByTagName("input") For Each ele In objinputs If ele.Class Like "css-9hvios-Input-textInputBaseClass e1tcuc7s0" Then ele.Value = ws.Range("A1").Value End
Set objinputs = objIE.document.getElementsByTagName("input")
For Each ele In objinputs
If ele.Class Like "css-9hvios-Input-textInputBaseClass e1tcuc7s0" Then
ele.Value = ws.Range("A1").Value
End If
Next
这里是HTML的一小段
您的代码: 您想要的是
className
而不是class
。您可以像一样使用,但在成功后,您可能需要退出
For Each ele In objinputs
If ele.ClassName Like "css-9hvios-Input-textInputBaseClass e1tcuc7s0" Then
ele.Value = ws.Range("A1").Value
Exit For
End If
Next
备选方案: 假设您想将第一个
input
元素与该类名匹配,那么如果您使用css,则效率更高,速度更快:
不需要循环。点“.”是类选择器,后跟类名
改进: 您可以通过删除前导(
输入
)来缩短
您可以通过删除其中一个复合类名(原始类名中的空格表示存在多个类)来进一步缩短。在css中,您可以通过用点替换空格来连接这些类
objIE.querySelector(".css-9hvios-Input-textInputBaseClass").value =ws.Range("A1").Value
类名称看起来是动态的,因此您可能需要位置匹配。您的代码: 您想要的是
className
而不是class
。您可以像一样使用,但是您可能希望在成功后退出
For Each ele In objinputs
If ele.ClassName Like "css-9hvios-Input-textInputBaseClass e1tcuc7s0" Then
ele.Value = ws.Range("A1").Value
Exit For
End If
Next
备选方案:
假设您想将第一个input
元素与该类名匹配,那么如果您使用css,则效率更高,速度更快:
不需要循环。点“.”是类选择器,后跟类名
改进:
您可以通过删除前导(输入
)来缩短
您可以通过删除其中一个复合类名(原始类名中的空格表示存在多个类)来进一步缩短。在css中,您可以通过用点替换空格来连接这些类
objIE.querySelector(".css-9hvios-Input-textInputBaseClass").value =ws.Range("A1").Value
类名称看起来是动态的,但是您可能需要位置匹配。没有屏幕截图。此外,请使用代码片段工具via插入相关html而不是屏幕截图。没有屏幕截图。此外,请使用代码片段工具via插入相关html而不是屏幕截图。下面是带有t的html图片he hight是我试图访问的元素[1]:首先尝试上面的内容这是一张HTML的图片,其中hight是我试图访问的元素[1]:首先尝试上面的内容