是否可以使用 vba 在 Internet Explorer 中找到所有变量的列表
Is it possible to find a list of all variables in internet explorer using vba
这是我的情况。对于工作,我们使用基于 Java 的系统,该系统会在来电时提取帐户信息。我创建了一个访问表单,使用 vba 根据帐号自动识别帐户类型和属性,但是第一次需要手动输入号码,然后保存到数据库。
出于隐私原因,我宁愿不保存数据,即使我保留的帐号不超过 5 位。
如果我能找到一种方法从打开的页面调用所需的变量,那么就没有必要保存这些值了。
我已经有代码来识别已经打开的页面并将 oWin 设置为 IE。然而,该网站使用框架内的框架,找到一个单一的变量一直让我发疯。
所以问题来了:是否有一种 vba 方法可以在搜索所有帧时使用 vba 列出每个变量及其路径?
我只能通过单击查看源代码来访问源代码,并且开发人员 (f12) 在我可以访问的所有计算机上都被禁用。
我知道变量存在并且在源代码中写成
商户号=xxxxxx2290001234
我为安全添加了 X。
我认为您在这里所说的是网页上的 DIV 而不是变量。
源代码显示了 HTML 代码,其中未显示变量。
一般信息显示在 DIVs 或标签中,您可以尝试使用 VBA 代码访问此信息,方法是使用其 ID 或名称或任何方式查找那些 DIVs其他 属性.
这是一个 VBA 代码示例,用于从 iframe 访问值。
Sub demo3()
Dim URL As String
Dim IE As Object
Dim doc As HTMLDocument
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
URL = "http://localhost/346.html"
IE.navigate URL
Do While IE.readyState = 4: DoEvents: Loop
Do Until IE.readyState = 4: DoEvents: Loop
Set doc = IE.document
Dim iframeDoc As MSHTML.HTMLDocument
Set iframeDoc = doc.frames("frame1").document
If iframeDoc Is Nothing Then
Debug.Print "IFrame with name 'iframename' was not found."
IE.Quit
Exit Sub
End If
Dim element As MSHTML.HTMLDivElement
Set element = iframeDoc.querySelector("#div1")
If element Is Nothing Then
Debug.Print "element within iframe was not found."
IE.Quit
Exit Sub
Else
Debug.Print element.innerHTML
End If
' Set IE = Nothing
' Set objElement = Nothing
' Set objCollection = Nothing
End Sub
输出:
您可以参考此示例并尝试开发自己的代码可能有助于获得预期的结果。如果您还有其他问题,请告诉我们。
这是我的情况。对于工作,我们使用基于 Java 的系统,该系统会在来电时提取帐户信息。我创建了一个访问表单,使用 vba 根据帐号自动识别帐户类型和属性,但是第一次需要手动输入号码,然后保存到数据库。
出于隐私原因,我宁愿不保存数据,即使我保留的帐号不超过 5 位。
如果我能找到一种方法从打开的页面调用所需的变量,那么就没有必要保存这些值了。
我已经有代码来识别已经打开的页面并将 oWin 设置为 IE。然而,该网站使用框架内的框架,找到一个单一的变量一直让我发疯。
所以问题来了:是否有一种 vba 方法可以在搜索所有帧时使用 vba 列出每个变量及其路径?
我只能通过单击查看源代码来访问源代码,并且开发人员 (f12) 在我可以访问的所有计算机上都被禁用。
我知道变量存在并且在源代码中写成
商户号=xxxxxx2290001234
我为安全添加了 X。
我认为您在这里所说的是网页上的 DIV 而不是变量。
源代码显示了 HTML 代码,其中未显示变量。
一般信息显示在 DIVs 或标签中,您可以尝试使用 VBA 代码访问此信息,方法是使用其 ID 或名称或任何方式查找那些 DIVs其他 属性.
这是一个 VBA 代码示例,用于从 iframe 访问值。
Sub demo3()
Dim URL As String
Dim IE As Object
Dim doc As HTMLDocument
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
URL = "http://localhost/346.html"
IE.navigate URL
Do While IE.readyState = 4: DoEvents: Loop
Do Until IE.readyState = 4: DoEvents: Loop
Set doc = IE.document
Dim iframeDoc As MSHTML.HTMLDocument
Set iframeDoc = doc.frames("frame1").document
If iframeDoc Is Nothing Then
Debug.Print "IFrame with name 'iframename' was not found."
IE.Quit
Exit Sub
End If
Dim element As MSHTML.HTMLDivElement
Set element = iframeDoc.querySelector("#div1")
If element Is Nothing Then
Debug.Print "element within iframe was not found."
IE.Quit
Exit Sub
Else
Debug.Print element.innerHTML
End If
' Set IE = Nothing
' Set objElement = Nothing
' Set objCollection = Nothing
End Sub
输出:
您可以参考此示例并尝试开发自己的代码可能有助于获得预期的结果。如果您还有其他问题,请告诉我们。