Javascript 使用VBA在嵌套在框架内的iFrame内的元素中输入/访问值
我的这个问题已经持续了好几个星期了,我目前正在实习,我所在的单位让我在他们的系统中自动搜索。我已经知道getElements是如何工作的,这是您在inspect elements中可以看到的:Javascript 使用VBA在嵌套在框架内的iFrame内的元素中输入/访问值,javascript,jquery,html,vba,frame,Javascript,Jquery,Html,Vba,Frame,我的这个问题已经持续了好几个星期了,我目前正在实习,我所在的单位让我在他们的系统中自动搜索。我已经知道getElements是如何工作的,这是您在inspect elements中可以看到的: <DOCTYPE html PUBLIC "=..../frameset.dtd> <html xmlns=...> <head> <frameset style> <Frame name = "Frame1" src = "Frame1.aspx"&
<DOCTYPE html PUBLIC "=..../frameset.dtd>
<html xmlns=...>
<head>
<frameset style>
<Frame name = "Frame1" src = "Frame1.aspx">
<Frame name = "Frame2" src = "Frame2.aspx">
|
V
<!DOCTYPE html PUBLIC ".....transitional.dtd">
<html xmlns=...>
<head>
<body>
<form name = "form1" id ="form1">
<div id="appiDIVA">
<iframe name = appiFrame class="aFrame" src="Router.aspx">
<!DOCTYPE html PUBLIC "-...Frameset.dtd">
<html xmlns=...>
<head>
<frameset style = "">
<frame name = "LeftPage" id = "LeftPage">
<!DOCTYPE html PUBLIC "-...something.dtd">
<html xmlns=...>
<head>
<body class = "left frame">
<form id="frmleftForm action = LeftFrame.aspx" method = "post">
<div>
<script type = "javascript">
<script src = ".....">
.
.
.
<div class = "searchbox">
<select name = ctlSearch$.. id = ctlSearch_... onchange = javascript... >
***<a tabindex="2" class="find" id = searchbutton onclick = "return......." href = "javascript:_..........">***
<div id ="ctlsearchupdate">
<span id="ctlsearchtxtfind" style="...">
***<input name ="ctlsearch$findthis" tab index="1" id = ctlsearch_" accesskey="4" type="text" maxlength="25" autcomplete="off">***
然后我研究了代码:
Textbox1.Text = IE.document.getElementsById("ContentFrame").contentDocument.DocumentElement.innerHTML
然后显示元素,直到
不显示其内容或其下的任何内容
如上面代码所示,这些元素都在frame2中,关于如何至少向文本框输入一个值,我已经被困了好几个星期了
然后我做了这个:
PrivateSub CommandButton1_Click()
Dim HTMLdoc As HTMLDocument
Dim IE As InternetExplorerMedium
Set doc = IE.document.frames.frames(1).document.getElementsByName("appiFrame")(0)
If(doc Is Nothing) Then
MsgBox("Element Not Detected")
Else
MsgBox("Detected")
TextBox1.Text = IE.document.body.innerHTML
MsgBox(doc)
End If
End Sub
这里发生的事情是,iFrame现在被弹出的消息[ObjectHtmlFrameElement]检测到,但是innerHTML仍然只显示两个框架集,我被困在如何向前推进或挖掘元素的问题上。如果我能得到帮助,我会很感激的谢谢
PrivateSub CommandButton1_Click()
Dim HTMLdoc As HTMLDocument
Dim IE As InternetExplorerMedium
Set doc = IE.document.frames.frames(1).document.getElementsByName("appiFrame")(0)
If(doc Is Nothing) Then
MsgBox("Element Not Detected")
Else
MsgBox("Detected")
TextBox1.Text = IE.document.body.innerHTML
MsgBox(doc)
End If
End Sub