【发布时间】:2020-03-25 00:15:09
【问题描述】:
我正在尝试从公司内部网站上抓取一些信息。我的代码能够启动一个新的 IE 窗口并成功导航到该页面,但是当我尝试将数据输入到一个框中时,我不断收到错误。
我根据阅读过的帖子切换了各种内容,但总是出现某种错误。
对于下面发布的代码,最后一行是这个错误:
Object Variable or With Block Not Set
这是我的代码:
Sub PerformancePull()
Dim appIE As Object
Dim sURL As String
Dim StartDate As Variant
Dim MyDoc As HTMLDocument
Set appIE = New InternetExplorerMedium
sURL = "website"
With appIE
.navigate sURL
.Visible = True
End With
Do While appIE.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set MyDoc = appIE.document
Set StartDate = MyDoc.getElementById("ct100_assoc_tbEndDate")
StartDate.Value = "3/25/2020"
End Sub
编辑:
【问题讨论】:
-
可能包含问题中包含相关 HTML 的相关页面的源部分,或者至少包含指向该页面的链接......如果没有这些东西,任何人都无法帮助你。
-
使用适当的页面加载等待和可能的定时循环来显示由 id 定位的项目(假设您可以使用 id 直接访问)例如stackoverflow.com/a/58445978/6241235
-
谢谢 - 我在自己的故障排除的早期迭代中尝试了等待方法,但仍然没有任何作用。它一定与我要访问的网站有关。这是一个公司内部网站。我已经发布了一个 HTML 片段,它标识了我正在尝试与之交互的元素。请让我知道查看 HTML 的任何其他部分是否会有所帮助。再次感谢。
标签: vba internet-explorer getelementbyid