风行者 发表于 2010-9-8 12:39:18

获取frame的对象问题

如下面例子,如果是用frame打开的地址,就无法获取到对象了
#include <IE.au3>
$str = '<html>' & @CRLF & _
                '<frameset cols="90%,10%">' & @CRLF & _
                '<frame src="http://www.baidu.com">' & @CRLF & _
                '<frame src="about:blank" name="view_frame">' & @CRLF & _
                '</frameset>' & @CRLF & _
                '</html>'
FileWrite(@TempDir&"\~temp.html",$str)
$oIE = _IECreate(@TempDir&"\~temp.html")
$sug = _IEGetObjById($oIE,"kw")
_IEFormElementSetValue($sug,"这是一个测试")

dhh45 发表于 2010-9-8 13:43:08

我也遇到同样的问题,可以解决吗?

风行者 发表于 2010-9-8 15:59:06

不要沉啊,这问题得解决

dhh45 发表于 2010-9-9 11:46:47

我来顶啊,大家看看啊,如何解决 啊?

onlonely 发表于 2010-9-10 10:01:07

对于有form的网页,如果需要操作form里面的对象,全部要使用专用函数
例如
_IEFormGetObjByName
我们可以想象成form是一个独立的空间,不能直接访问

风行者 发表于 2010-9-10 11:37:27

回复 5# onlonely

这个明白,但是当顶层对层使用,只用Navigate
其它都用不了

风行者 发表于 2010-9-10 21:23:41

暂时只想到这方法能获取到对象#include <IE.au3>
$str = '<html>' & @CRLF & _
                '<frameset cols="90%,10%">' & @CRLF & _
                '<frame src="about:blank" name=main>' & @CRLF & _
                '<frame src="about:blank" name=menu>' & @CRLF & _
                '</frameset>' & @CRLF & _
                '</html>'
$oIE = _IECreate("http://www.baidu.com")
_IEDocWriteHTML($oIE, $str)
$frame = _IEFrameGetObjByName($oIE, "main")
_IENavigate($frame, "http://www.baidu.com")
$sug = _IEGetObjById($frame, "kw")
_IEFormElementSetValue($sug, "这是一个测试")
页: [1]
查看完整版本: 获取frame的对象问题