按键精灵打开网页

VBS Call RunApp("www.baidu.com")
VBS Call RunApp("https://www.sina.com.cn/")

 

如果想通过判断网页元素特征码来判断网页是否打开,可以用下面方法:

Call Plugin.Web.Bind("WQM.exe")   
Call Plugin.Web.Go("https://www.jd.com/")
Delay 2000
linkNum = Plugin.Web.HtmlExists("tag:A&txt:家用电器")

//关闭wqm网页 
Hwnd=Plugin.Web.GetHwnd()
Call Plugin.Window.Close(Hwnd)

//关闭wqm网页 

MessageBox linkNum

按键精灵是一款用于模拟键盘鼠标操作的自动化工具,适用于 Windows 系统下各种软件的操作任务。对于实现“后台网页点击”,意味着即使浏览器窗口不在前台显示的情况下也能让指定的 Web 页面元素自动响应点击等动作。 为了达成这一目的,在使用按键精灵的过程中通常需要以下几个步骤: ### 步骤一:确保环境设置正确 首先确认你的浏览器支持外部程序控制访问,例如启用 Chrome 浏览器的远程调试功能(Remote Debugging)。这一步是为了使得像按键精灵这样的第三方应用程序能够与之通信并发送指令。 #### 启用Chrome浏览器的开发者模式及远端调试: - 打开 Chrome 设置 -> 更多工具 (More tools) -> 开发者选项(Developer settings) - 查找 `chrome://flags/#remote-debugging-port` 并开启此功能,默认监听本地 9222 端口 - 关闭所有正在运行中的 Chrome 实例再重启以应用更改 ### 步骤二:通过按键精灵连接至已打开的目标Web页 接下来你需要编写一段按键精灵脚本来建立对目标网页的连接,并准备后续命令序列来进行具体的交互行为。 ```autohotkey ; 创建一个HTTP请求对象来与Chromedriver服务对话 Dim HttpReq: Set HttpReq = CreateObject("Msxml2.ServerXMLHTTP") HttpReq.Open "GET", "http://localhost:9222/json/version", False HttpReq.Send() If Err.Number <> 0 Then MsgBox "无法获取版本信息,请检查您的配置." : Exit Sub ' 错误处理机制 Debug.Print HttpReq.ResponseText ; 输出返回内容供调试用途 ``` 这段代码片段主要是测试能否成功接收到来自启动了远程调试协议后的浏览器实例的信息反馈;实际项目中你会依据实际情况调整URL地址以及解析JSON数据找出正确的Tab ID 或 Page URL。 ### 步骤三:编写针对特定HTML元素的动作逻辑 一旦建立了稳定的连接之后就可以开始向选定的对象发出诸如移动光标位置、单击按钮之类的命令了。不过由于每个网站的设计都不尽相同,因此这里建议采用 XPath 或 CSS Selectors 定位技术来准确定位你想要操控的DOM节点。 例如要在一个已经打开了某电商登录页面的情况下去填写账号密码字段并且提交表单的话可以参考下面的例子: ```vbnet Sub ClickElementByXPath(xpath As String) Dim scriptCode As String ' 构建JavaScript注入段落 - 根据提供的XPATH路径查找对应节点并触发放大镜事件 scriptCode = "var result=document.evaluate('" & xpath & "', document, null, XPathResult.ANY_TYPE, null);" _ + "var node=result.iterateNext();" _ + "if(node){node.click();};" ExecuteScript(scriptCode) End Sub Function ExecuteScript(jsCode As String) Dim url As String, jsonResp$ Const CHROME_DEBUG_PORT = ":9222" ' 默认端口号可根据个人设定而变化 ' 发送包含执行JS代码在内的完整WebSocket消息体给浏览器引擎 With New ServerXmlHttp60 .Open "POST", "http://" & GetLocalIP() & CHROME_DEBUG_PAGE_ID & "/evaluate" .setRequestHeader "Content-Type", "application/x-www-form-urlencoded" .send "{expression:""" & jsCode & """}" If (.Status >= 400 Or InStr(.responseBody, "error") > 0) Then MsgBox ("未能正常执行脚本,请验证网络连通性和权限.") Else jsonResp$ = BytesToString(.responseBody(), Encoding:=DefaultEncoding()) Debug.Print Left$(jsonResp$, Len(jsonResp$)-1)' 去除结尾多余字符 End If End With End Function ``` 注意以上示例是以 VB.NET / VBA 风格编写的伪代码框架形式呈现出来的,具体到按键精灵环境中需做适当转换成相应的命令格式。 此外,考虑到安全性和稳定性的问题,直接从非前端可见层面对网页进行自动化操作并不总是理想的做法。很多在线服务平台会采取措施防止机器人滥用其API接口或者绕过用户界面进行非法操作。所以在尝试此类高级功能之前务必充分了解相关政策法规和平台规则以免造成不必要的麻烦。 --
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值