先假设你有一个IE对象,
SET IE=Createobject("Internetexplorerapplication")
然后你打开了这个网页,就可以这样了:
With IEDocument
for each i in GetElementsByClassName("button")
iclick
next
end with
不过你要是给元素分配了唯一的ID就更容易了,这样略麻烦
先看看tasker基础吧,建一个配置连上任务,任务上点击加号_应用_启动应用。应用里点击的话,点击加号_代码_运行外壳,命令上输入 input tap 520 800 后面的数字为点击的坐标,怎么找到点击坐标,打开手机开发者选项,指针位置就能显示当前点击的坐标。滑动就输入 input swipe 520 800 520 1650 数字是滑动前后的坐标
先用FindWindow函数找到程序句柄,再用findWindowEx扭句柄,然后调用sendmessage函数发送消息即可\x0d\\x0d\DeclareFunctionSendMessageLib“user32"Alias“SendMessageA"(ByValhwnd\x0d\AsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong\x0d\SendMessage函数的hwnd参数为接收消息的窗口或控件的hwnd句柄。wMsg参数指定具体的消息值。要发送鼠标左键按下和释放的消息,wMsg的取值分别为WM_LBUTTONDOWN和WM_LBUTTONUP,这两个常量定义如下:\x0d\\x0d\ConstWM_LBUTTONDOWN=&H201\x0d\ConstWM_LBUTTONUP=&H202\x0d\把这两个消息发送给一个按钮,按钮就会像真的被鼠标左键单击了一样。SendMessage函数中的后两个参数在本例中可以不理,简单置0即可。\x0d\还有一点细节需注意。如果连续给按钮发送一对WM_LBUTTONDOWN和WM_LBUTTONUP消息,Windows会来不及进行一些必要的系统 *** 作,这样在视觉上就看不出按钮被按下后又放开的效果,好像按钮没有按动。但按钮的Click事件处理过程被激活执行表明按钮确实被按过。为了达到视觉上的完美效果,我们不妨在WM_LBUTTONDOWN和WM_LBUTTONUP两个消息之间插入一段短短的延时,比如说200毫秒,在这段延时期间,把处理权交给Windows,这样Windows就有时间显示按钮被按下的效果了。插入延时的办法有很多,可以加入一段空循环或利用计时器控件,这里再介绍一个API函数GetTickCount,该函数获取自Windows启动至被调用时所经过的毫秒数。利用这个函数控制延时,不仅精确,而且节省资源。\x0d\GetTickCount函数的接口声明如下:\x0d\DeclareFunctionGetTickCountLib“kernel32"()AsLong\x0d\\x0d\====================CODE:\x0d\PrivateeclareFunctionGetTickCountLib“kernel32"()AsLong\x0d\\x0d\PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsInteger,ByVallParamAsAny)AsLong\x0d\PrivateDeclareFunctionFindWindowExLib"user32"Alias"FindWindowExA"(ByValhWnd1AsLong,ByValhWnd2AsLong,ByVallpsz1AsString,ByVallpsz2AsString)AsLong\x0d\PrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLong\x0d\DimtWndAsLong,bWndAsLong,ncWndAsLong\x0d\\x0d\ConstWM_LBUTTONDOWN=&H201\x0d\ConstWM_LBUTTONUP=&H202\x0d\\x0d\PrivateSubCommand1_Click()\x0d\tWnd=FindWindow("Shell_TrayWnd",vbNullString)\x0d\bWnd=FindWindowEx(tWnd,ByVal0&,"BUTTON",vbNullString)\x0d\SendMessagebWnd,WM_LBUTTONDOWN,0,ByValO&\x0d\GetTickCount\x0d\SendMessagebWnd,WM_LBUTTONUP,0,ByValO&\x0d\EndSub这个例子展示点“开始”按扭
给Shell函数指定第二个参数值
语法:Shell(pathname[,windowstyle])
windowstyle 命名参数有以下这些值:
常量 值 描述
vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。常数vbHide在Macintosh平台不可用。
VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。
VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。
VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。
VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。
VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。
如果需要打开其他软件后,这个软件最大化,可以使用
Shell(程序路径,VbMaximizedFocus) 或 Shell(程序路径,3)
Private Declare Function ShellExecute Lib "shell32dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOW = 5
Private Sub Command1_Click()
Call ShellExecute(Mehwnd, "open", "c:\windows\system32\calcexe", "", "", SW_SHOW)
End Sub
以上就是关于怎么用VBS程序点击网页中按钮全部的内容,包括:怎么用VBS程序点击网页中按钮、怎样用tasker运行某程序并点击程序上的任意按钮、如何向另一个程序中的按钮发送单击消息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)