我正在尝试编写一个脚本来驱动我的IExplorer。它可以正常工作但我需要在textarea
中输入一个值,然后单击一个按钮,同时它们都没有ID。我不知道如何使用VBScript在HTML DOM中移动arround,但有人建议在某处以某种方式使用document.all
。我也在考虑使用JS脚本为它们提供ID,然后返回并使用document.getElementbyid
但我不知道如何在VBScript中运行带有初始化文档对象的JS脚本。到目前为止我所拥有的是:
Option Explicit
With CreateObject("InternetExplorer.Application")
.Visible = True
.Navigate "https://adwords.google.co.uk/um/Logout"
Do While .Busy
WScript.Sleep 100
Loop
.Document.getElementByID("Email").Value = "testtestingtton@gmail.com"
.Document.getElementByID("Passwd").Value = "PWD"
'Note: You could just get the form and submit it, but
'you'll miss out on any special JavaScript associated
'with the Submit button.
.Document.getElementByID("signIn").Click
Do While .Busy
WScript.Sleep 100
Loop
.Navigate "https://adwords.google.co.uk/o/Targeting/Explorer?"
Do While .Busy
WScript.Sleep 100
Loop
'here begins the problem'
.Document.All.tags("sB5 sPEB").Value = "southpark"
'.Document.getElementsByTagName("sJ1").Click'
End With
此外,由于我要填写的字段是
<textarea style="overflow-y: hidden; height: 36px;" class="sB5 sPEB"></textarea>
它没有值属性它的值是如何输入的?
答案 0 :(得分:1)
使用hasChildNodes
和nextNode
等MSXML DOM methods来移动,或使用selectSingleNode
和selectNodes
进行直接访问。文本值存储为text node中textarea
元素的子元素。
<强>参考强>
答案 1 :(得分:0)
而不是使用.Document.All.tags("sB5 sPEB").Value = "southpark"
尝试以下代码
检查班级是否唯一
.Document.getElementsByClassName("sB5 sPEB").Value = "southpark"
否则使用for循环和if语句发送值