代码大师!
新手在这里!我试图通过引用其ID元素来创建一个用于从网站上刮擦文本的工具,但是有了一些ID,我只会得到空格和/或中断。
这是网页的源代码:
<div id="empName">
<h2>Employee Name</h2>
<div class="clear"></div>
<span style="font-family:Arial; font-weight:bold">
<div id="empID">Employee ID</div>
</span>
这是我的VBA代码:
Option Explicit
Sub SampleCode()
Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.IHTMLDocument
Dim EmployeeName As MSHTML.IHTMLElement
Dim EmployeeID As MSHTML.IHTMLElement
Dim URL As String
URL = "www.example"
With IE
.Visible = True
.FullScreen = True
.Navigate URL
End With
Do
Loop Until IE.ReadyState = READYSTATE_COMPLETE And IE.Busy <> True
Set HTMLDoc = IE.Document
Set EmployeeName = HTMLDoc.getElementById("empName")
Set EmployeeID = HTMLDoc.getElementById("empID")
Debug.Print EmployeeName.tagName, EmployeeName.innerText, EmployeeID.tagName, EmployeeID.innerText
IE.FullScreen = False
IE.Quit
Set IE = Nothing
End Sub
这是从直接窗口显示的结果:
DIV Employee Name DIV
我遵循YouTube的教程,但我无法从" Empid" ID属性中获得文本。任何建议都将不胜感激。
您可以尝试等到文本填充:
timeout = Now + #0:00:05# ' to wait up to 5 seconds
While EmployeeID.innerText = "" And Now < timeout
DoEvents
Wend
Debug.Print EmployeeID.innerText