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 看了好多自动登录网页的例子。一点没看明白 特别是例子这句 句子中“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:49 编辑
之前写的一个东西
比较简单
参考一下
或许能帮到楼主你
http://hi.baidu.com/autoit3cn/bl ... fdac006b63e597.html 3楼的朋友谢谢你。虽然代码没有达到我的目的 但是知道了_IELoadWait函数 3Q 有没有人曾告诉你们 我很爱你们 ~~~~有没有人曾告诉我一个函数~~~~~~~~~:face (37):
IE_Udf汉化帮助,自己看吧
楼上的没明白我的意思,
网页已经能打开了。是一个搜索页面,我想每次搜索完了都点第一条数据 如何做到 如果能截取或者获取到红色圈里的文本问题也解决了:face (10): 我晕 一直没有人回答:face (14): 大哥大姐们 帮帮忙 研究一天了:face (37): 如果是固定网址,直接打开网址即可,如果是固定位置,那如何保证每次搜索的第一个位置都是你想要的呢? :face (37): 所以这个很难 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]