我试图点击网站中的一个标签,该标签是用onmouse事件激活的。这是html的片段:
11/17/2016 09:00:00 AM
代码标记的最后一行" p"当我"检查元素"。
时,它就是我需要的地方到目前为止,下面是我的vba代码片段:
<frame name ="nav">
<body><div id="tab2flyover0"
onmouseover="document.getElementById('tab2flyover0DivShim').style.width = document.getElementById('tab2flyover0').offsetWidth;
onmouseout="document.getElementById('tab2flyover0').style.visibility='hidden';document.getElementById('tab2flyover0DivShim')
onmouseover="document.getElementById('tab2_tab2Cell0')onmouseout="document.getElementById('tab2_tab2Cell0')
onclick="parent.frames[0].changeTopTabs('tab2TableDetail') parent.frames[0].changeContentFrame('/MISO/DART/selectDARTParticipant.do');">
<p id="tab2_tab2flyover0text0" style="color: rgb(255, 153, 0);">Select Party</p>
我得到的错误说:&#34;方法&#39;框架&#39;对象JScriptTypeInfo&#39;失败&#34 ;.
我之前从未处理过onmouse事件,也许这就是我遇到问题的地方?
答案 0 :(得分:0)
带有onclick事件的标记是标记
<div id="tab2flyover0">
您正在选择以下标记并单击:
<p id="tab2_tab2flyover0text0" style="color: rgb(255, 153, 0);">Select Party</p>
我会将代码更改为以下内容并再试一次,我刚刚做了类似的事情并且没有任何问题。 (使用Powershell而不是VBA)
Set dar = htmldoc.frames("nav").document.getElementById("tab2flyover0")
答案 1 :(得分:0)
证明难以找到也使用框架的网站。但我会将代码更多地打破调试。例如。 添加框架文档的删除。
Dim frameDoc As MSHTML.IHTMLDocument
然后分手:
Set dar = htmldoc.frames("nav").document.getElementById("tab2flyover0")
向
Set frameDoc = htmldoc.frames("nav").document
Set Dar = frameDoc.getElementById("tab2flyover0")
此外,您尚未声明dar的类型。 然后检查发生错误的代码行。