多层FRAMESET嵌套的情况下,怎么操作最底层的FRAME或FROM?(加分重发)
就是FRAMSET下还套FRAMESET还套FRAMSET,并且FRAMESET在上一个FRAMSET里的位置还有变化,有的前所有的FRAME前面,有的在FRAME集中间,
这种情况下怎么写操作其最底层的FRAME或FORM的元素的命令??
象类似webbrowser1.dlcument.all(i)的句子此时应该怎么写??
看到过类似这个句子的:
Webbrowser1.document.getelementbyid("id").document.body.innertxt,但是我试了下,也不行
[解决办法]
帮你顶
[解决办法]
这得根据具体的HTML文档中的ID或NAME或INDEX确定。
[解决办法]
贴出HTML源码。
[解决办法]
哈哈,不知道一个网页打开以后有很多的网址。
不管多少个FRAMESET,总之FRAME的网址你知道是那个就可以了。
一个网页打开,总体的文档可以用webbrowser.document获得,但是想得到FRAME的文档就需要
webbrowser的DocumentCompelete事件,改事件中有两个参数很有用,一个是URL,一个是pDisp.
首先你要知道你要分析的FRAME的网址,这样才能得到相应的文档。
在DocumentCompelete事件中写如下代码:
if url = "FRAME对应的网址" then
pDisp.document…… 'pDisp.Document就是FRAME网址下对应的文档,然后你想怎么操作都可以了。
end if
不知道你是不是这个意思,以前有人问过类似的问题。如果需要更详细,给我留言,改天给你写。
[解决办法]
FRAME太多了,而且不完整,最好出URL或完整的首页HTML。
提取方法就是在NavigateComplete2或DocumentComplete事件里判断URL是否为你指定的URL,然后再通过DOM访问。
[解决办法]
首先,对于多层frame,你可以去查查每一层的
objWebBrowser.Document.Frames.length(如果为5,结果是从0到4编号),你可以做一个遍历,并试图列一下Frames.name。如果有name,那么当它变化的时候,不必改动序号。
如:
objWebBrowser.Document.Frames(2).Document.Frames("main").Document.Frames("menu").Document.all.tags("form")(0).all.tags("a")(2).click
便可实现点击,但注意数字序号的比较不稳定。
你需要在DocumentCompleted事件中跟踪完毕的次数,这个也许相对是稳定的。在点击前,你将一个全局的计数器清零,然后再点击,再在一个Do Loop中加入DoEvents,并跟踪计数器值以Exit Do。在DocumentCompleted事件中,给全局计数器加1。
我最近也发了一个帖,你可以看看有没有其他收获,我想我们要面对的应用是类似的。http://topic.csdn.net/u/20090605/14/7efbd41f-7fe1-4fc7-a3f3-b1ee607c579f.html