nmgwddj 发表于 2010-2-27 13:03:49

IE操作的问题,刚接触IE操作 是在盲目!

本帖最后由 nmgwddj 于 2010-2-27 13:06 编辑



如上图 如何打开红色圈里的网站

还有就是程序开始运行的时候 如何锁定网页中的输入框 输入相关数据

我现在是锁定程序窗口 然后SEND 不知道网页中输入框的控件是什么 该如何操作!

是在不知道怎么下手 不想用模拟鼠标点击啊:face (37):; *******************************************************
; Example 1 - Trap COM errors so that 'Back' and 'Forward'
;                                outside of history bounds does not abort script
;                                (expect COM errors to be sent to the console)
; *******************************************************
;
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

_IEErrorHandlerRegister()

$oIE = _IECreateEmbedded()
GUICreate("测试", 640, 580, _
                (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
                $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
$GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 600, 360)
;$GUI_Button_Back = GUICtrlCreateButton("开始", 10, 420, 100, 30)
;$GUI_Button_Forward = GUICtrlCreateButton("测试", 120, 420, 100, 30)
$GUI_Button_Home = GUICtrlCreateButton("返回主页", 230, 420, 100, 30)
;$GUI_Button_Stop = GUICtrlCreateButton("停止", 340, 420, 100, 30)

GUISetState() ;Show GUI

_IENavigate($oIE, "http://www.woai310.com/index.htm?u=3496/")
; Waiting for user to close the window
While 1
        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE
                        ExitLoop
                Case $msg = $GUI_Button_Home
                        _IENavigate($oIE, "http://www.woai310.com/index.htm?u=3496/")
                        xie()
                ;Case $msg = $GUI_Button_Back
                        ;_IEAction($oIE, "back")
                ;Case $msg = $GUI_Button_Forward
                        ;_IEAction($oIE, "forward")
                ;Case $msg = $GUI_Button_Stop
                        ;_IEAction($oIE, "stop")
        EndSelect
WEnd

GUIDelete()

Exit
Func xie()
        $Val = Random(1, 500, 1)
        $kahao = FileReadLine("keywords.txt", $Val)
        WinWait("测试")
        WinActivate("测试")
        Send($kahao)
        Send("{enter}")
        Sleep(10000)
EndFunc   ;==>xie

nmgwddj 发表于 2010-2-27 13:09:33

看了好多自动登录网页的例子。一点没看明白 特别是例子这句 句子中“f”和“q”
是怎么获取到的!#include <IE.au3>
$oIE = _IECreate ("http://www.google.com")
$oForm = _IEFormGetObjByName ($oIE, "f")
$oQuery = _IEFormElementGetObjByName ($oForm, "q")
_IEFormElementSetValue ($oQuery, "AutoIt IE.au3")
_IEFormSubmit ($oForm)

lynfr8 发表于 2010-2-27 14:38:31

本帖最后由 lynfr8 于 2010-2-27 14:49 编辑

之前写的一个东西
比较简单
参考一下
或许能帮到楼主你

http://hi.baidu.com/autoit3cn/bl ... fdac006b63e597.html

nmgwddj 发表于 2010-2-27 15:17:05

3楼的朋友谢谢你。虽然代码没有达到我的目的 但是知道了_IELoadWait函数 3Q

nmgwddj 发表于 2010-2-27 21:45:13

有没有人曾告诉你们 我很爱你们 ~~~~有没有人曾告诉我一个函数~~~~~~~~~:face (37):

jybb001 发表于 2010-2-27 21:55:16


IE_Udf汉化帮助,自己看吧

nmgwddj 发表于 2010-2-27 22:03:57

楼上的没明白我的意思,
网页已经能打开了。是一个搜索页面,我想每次搜索完了都点第一条数据 如何做到

nmgwddj 发表于 2010-2-27 23:08:53

如果能截取或者获取到红色圈里的文本问题也解决了:face (10):

nmgwddj 发表于 2010-2-28 10:43:32

我晕 一直没有人回答:face (14):

nmgwddj 发表于 2010-2-28 18:12:34

大哥大姐们 帮帮忙 研究一天了:face (37):

leon 发表于 2010-3-6 11:54:52

如果是固定网址,直接打开网址即可,如果是固定位置,那如何保证每次搜索的第一个位置都是你想要的呢?

nmgwddj 发表于 2010-3-6 22:44:35

:face (37): 所以这个很难

2287399 发表于 2010-3-7 17:21:20

1楼提到的问题很难解决..至少我是这么认为 而且我也不会
2楼提到的问题就比较容易
$oIE = _IECreate("http://www.google.com")成功后返回InternetExplorer.Application对象的对象变量给$oIE。
然后用_IEFormGetCollection函数,$oForms = _IEFormGetCollection($oIE)返回$oIE的表单对象的对象变量,同时会设置一个宏@EXTENDED=表单数量,这里就得到了表单的个数。
然后用FOR语句列举出$oForms的所有元素
For $Form In $oForms
      MsgBox(0, "表单名称", $oForm.name)
Next
这里就得到了表单名称也就是你提到的f
然后$oQuerys = _IEFormElementGetCollection ($Form) 返回表单内控件对象的对象变量,同时设置@EXTENDED = 控件数量。
然后也用FOR语句列举出$oQuerys的所有元素 方法和前面列举出$oForms的所有元素一样
#include <IE.au3>
$oIE = _IECreate("http://www.google.com")
$oForms = _IEFormGetCollection($oIE)
MsgBox(0, "表单信息", "这个页面上共有" & @extended & "个表单")
For $Form In $oForms
        MsgBox(0, "表单名称", $Form.name)
        $oQuerys = _IEFormElementGetCollection ($Form)
        MsgBox(0, "表单控件", "这个表单上共有" & @extended & "个控件")
        For $Query In $oQuerys
                MsgBox(0, "表单控件信息", "名称:"&$Query.name & " 类型:"&$Query.type)
        Next
Next
页: [1]
查看完整版本: IE操作的问题,刚接触IE操作 是在盲目!