xtybfgu 发表于 2012-8-19 08:49:38

网页 iframe 操作无法写入数据[已解决]

本帖最后由 xtybfgu 于 2012-8-21 08:13 编辑

http://www.yz918.com/plus/diy.php?action=post&diyid=2


在“详细说明”没有办法写入数据,因为这个“详细说明”是在网页中套了个iframe,搞了很久没有搞定,请高手出马.

komaau3 发表于 2012-8-19 10:46:13

框架套框架#include <IE.au3>

$oIE = _IEAttach('http://www.yz918.com/plus/diy.php?action=post&diyid=2', 'url')
$oFrame1 = _IEFrameGetCollection($oIE, 1)
$oFrame2 = _IEFrameGetCollection($oFrame1, 0)
$oFrame2.document.body.innerhtml = '<p>SBSBSBSB</p><p>1313131313131313131313</p>'

xtybfgu 发表于 2012-8-19 19:56:25

回复 2# komaau3


大哥,不行啊。

komaau3 发表于 2012-8-19 22:45:08

回复 3# xtybfgu
我这是测试没问题(win7+IE9),不过应该跟这关系不大,找找其他人运行下试试呢?#include <IE.au3>
$oIE = _IECreate('http://www.yz918.com/plus/diy.php?action=post&diyid=2', 1)
$oFrame1 = _IEFrameGetCollection($oIE, 1)
$oFrame2 = _IEFrameGetCollection($oFrame1, 0)
$oFrame2.document.body.innerhtml = '<p>SBSBSBSB</p><p>1313131313131313131313</p>'

xtybfgu 发表于 2012-8-20 12:17:21

回复 4# komaau3


当然网页弹出窗口时,代码就会暂停,有什么办法让他点确认啊。

#include <IE.au3>

AdlibRegister ( "test" ,1000)
$oIE = _IECreate('http://www.yz918.com/plus/diy.php?action=post&diyid=2', 0)



$oFrame1 = _IEFrameGetCollection($oIE, 1)
$oFrame2 = _IEFrameGetCollection($oFrame1, 0)
$oFrame2.document.body.innerhtml = '<p>ss</p><p>bbbbbbbbbbbbbbbb</p>'


$c=_IEGetObjById($oIE,"submit")



$c.click




Func test()
      $handle = WinGetHandle('Microsoft Internet Explorer')
                If$handle<>"" Then
                MsgBox(0,'','找到窗口')
               ControlClick($handle, "", "")
               EndIf

        EndFunc   ;==>test
       

komaau3 发表于 2012-8-20 15:16:17

回复 5# xtybfgu


IE弹窗和普通windows窗口好像有点区别,你试试先激活 再send 或者winkill ,另外你这弹窗完全可以避免的啊

xtybfgu 发表于 2012-8-20 16:38:48

回复 6# komaau3


    假如出现弹窗,那不就卡在那里,现在的办法是用另一个程序检测有没有发现弹窗,如果发现有出来就点确认。

eezoo 发表于 2012-11-29 10:00:33

不错,学习ing
页: [1]
查看完整版本: 网页 iframe 操作无法写入数据[已解决]