如何访问 ASPX 菜单页面中的 HTML 个元素?
How to access HTML elements in ASPX menu page?
我正在尝试提交表单详细信息。我无法分享 HTML 详细信息,因此尝试在下面进行解释。
我有一个菜单控制页面https://www.abcmenu.aspx
。
此页面使用 javascript:void(0)
调用 url https://www.abc-employee.aspx
,当我单击员工菜单项时,它会在同一页面中显示一个表单。
但是,页面没有刷新,也没有加载其他页面,地址栏中的URL保持不变。
这是网站的示例视图:
我需要填写表格详细信息并点击提交按钮。
下面的代码给出了 运行 时间错误,说明需要对象。
Set htmldoc = ie.document
Dim emp as mshtml.ihtmlinputelement
Set emp = htmldoc.getelementbyid("fld_emp")
emp.value = 357690
Dim subm as mshtml.ihtmlelememt
Set subm = htmldoc.getelementbyid("btnk_sub")
Subm.click
我试图 debug.print
表单标签下的所有元素,但它不会 return 表单中的元素。
当我执行代码时,它 return 只有主菜单页面的详细信息,而不是表单元素。
这是我尝试打印 HTML 个元素的代码
Dim htmla as mshtml.ihtmlelement
Dim htmlas as mshtml.ihtmlelementcollection
For each htmla in htmlas
Debug.print htmla.innertext
Next htmla
为什么我无法访问在主菜单页面中打开的表单中的 HTML 元素?
如果您尝试使用 VBA 访问 ASP.Net 网页上的 iframe 元素,那么您可以参考下面的示例,这可能会帮助您解决问题。
Sub demo()
Dim URL As String
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
URL = "https://example.com"
IE.navigate URL
Do While IE.readyState = 4: DoEvents: Loop
Do Until IE.readyState = 4: DoEvents: Loop
Dim elemCollection As IHTMLElementCollection
Debug.Print (IE.document.getElementsByTagName("iframe")(0).contentDocument.getElementsByName("fname")(0).Value)
Set IE = Nothing
End Sub
输出:
我正在尝试提交表单详细信息。我无法分享 HTML 详细信息,因此尝试在下面进行解释。
我有一个菜单控制页面https://www.abcmenu.aspx
。
此页面使用 javascript:void(0)
调用 url https://www.abc-employee.aspx
,当我单击员工菜单项时,它会在同一页面中显示一个表单。
但是,页面没有刷新,也没有加载其他页面,地址栏中的URL保持不变。
这是网站的示例视图:
我需要填写表格详细信息并点击提交按钮。
下面的代码给出了 运行 时间错误,说明需要对象。
Set htmldoc = ie.document
Dim emp as mshtml.ihtmlinputelement
Set emp = htmldoc.getelementbyid("fld_emp")
emp.value = 357690
Dim subm as mshtml.ihtmlelememt
Set subm = htmldoc.getelementbyid("btnk_sub")
Subm.click
我试图 debug.print
表单标签下的所有元素,但它不会 return 表单中的元素。
当我执行代码时,它 return 只有主菜单页面的详细信息,而不是表单元素。
这是我尝试打印 HTML 个元素的代码
Dim htmla as mshtml.ihtmlelement
Dim htmlas as mshtml.ihtmlelementcollection
For each htmla in htmlas
Debug.print htmla.innertext
Next htmla
为什么我无法访问在主菜单页面中打开的表单中的 HTML 元素?
如果您尝试使用 VBA 访问 ASP.Net 网页上的 iframe 元素,那么您可以参考下面的示例,这可能会帮助您解决问题。
Sub demo()
Dim URL As String
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
URL = "https://example.com"
IE.navigate URL
Do While IE.readyState = 4: DoEvents: Loop
Do Until IE.readyState = 4: DoEvents: Loop
Dim elemCollection As IHTMLElementCollection
Debug.Print (IE.document.getElementsByTagName("iframe")(0).contentDocument.getElementsByName("fname")(0).Value)
Set IE = Nothing
End Sub
输出: