javascript - 使用 vba 应用程序在 IE 中的文本字段中输入值

标签 javascript html vba ms-access web-scraping

enter image description here我在 Outlook 中有一个带有自定义表单的宏。我应该能够启动一个网站并将该值输入到启动的 IE 页面的文本字段中。

例如:代码应该能够打开https://idea.ca ,一旦启动,它应该在文本字段中输入值“1234”。

DOM Explorer: 手动输入时,输入字段名称如下所示。

我能够启动网站,但无法在特定文本字段中输入值。

Dim appIE As InternetExplorerMedium
Set appIE = Nothing
Dim objElement As Object
Dim ObjCollection As Object
Dim varResults As New DataObject

varResults.SetText "1234"
varResults.PutInClipboard


Set appIE = New InternetExplorerMedium
sURL = "http://acf2prod/WebAdminr15/pages/vantage.jsf"
With appIE
    .navigate sURL
    .Visible = True
End With

Do While appIE.Busy Or appIE.readyState <> 4
    DoEvents
Loop

Set ObjCollection = appIE.document.getElementsByTagName("input")

Set appIE = Nothing

With ObjCollection.document
        .getElementById("inputTextId").Value = varResults.GetText(1)
End With

获取错误“对象不支持此属性或方法。

最佳答案

这个

ObjCollection.document 将不起作用:集合的属性有限,并且 .document 不是 HTMLElementCollection/DispHTMLElementCollection 的属性或方法(因为您是声明延迟绑定(bind))。例如,它是 InternetExplorer 的一个属性。

简单的任务发生了什么?您应该能够直接分配(或使用剪贴板中的分配尝试以下左侧)

appIE.document.getElementById("mdForm:commandLineID:inputTextId").value = "1234"

关于javascript - 使用 vba 应用程序在 IE 中的文本字段中输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56189724/

相关文章:

javascript - 删除逗号分隔字符串末尾和开头的空格和逗号

javascript - 使用 nodatime 从时刻开始将时区传递到 web api 调用中

javascript - 将一个 div 放置在滑动的 Jquery div 之上

javascript选择隐藏函数问题

java - 如何正确显示表格?

vba - .Findnext 不尊重范围集

excel - 用于将 Chartsheets 打印到 PDF 的 VBA 宏以奇怪的比例生成截止图表

javascript - 是否可以获得有关浏览器颜色的信息?

javascript - 使用 vue 分布式文件中定义的函数

excel - 防止循环更新所有子字典值