VMLogin 本地 API 接口进行常规自动化操作

admin4年前浏览器自动化3041

1. 刷新页面  http://127.0.0.1:35000/api/v1/profile/refresh?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

2. 当前标签打开指定网址  http://127.0.0.1:35000/api/v1/profile/openurl?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&url=www.vmlogin.com

3. 获取网页源代码  http://127.0.0.1:35000/api/v1/profile/source?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

4. 寻找网页中的元素 http://127.0.0.1:35000/api/v1/profile/findElement?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&function=findElementByID&args=kw&click=false&index=-1


function 参数支持:


findElementByID

findElementByTag

findElementByClassName

findElementByLinkText

findElementByXPath

findElementsByID

findElementsByTag

findElementsByClassName

findElementsByLinkText

findElementsByXPath


args 参数为 function 函数的传参,如:findElementByID(args).


click 为 true 时,找到指定元素后进行点击操作。 为false时不进行点击


index 是元素有多个时,指定点击第几个元素,从0开始,-1 为随机元素其中一个,这个参数是配合 click = true 时使用的。


5.取指定元素属性值:

http://127.0.0.1:35000/api/v1/profile/getAttribute?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&args=[{"ELEMENT": "95365abe-6746-4703-8cfd-6316580f5289", "element-6066-11e4-a52e-4f735466cecf": "95365abe-6746-4703-8cfd-6316580f5289"}, "style"]


args 参数,一般是通过findElement查找元素后得到的Element_ID结合成的JSON串。如:[{"ELEMENT": "95365abe-6746-4703-8cfd-6316580f5289", "element-6066-11e4-a52e-4f735466cecf": "95365abe-6746-4703-8cfd-6316580f5289"}, "value"] 

这个就是取 95365abe-6746-4703-8cfd-6316580f5289  元素的 value 值。


6. 通过选择器执行元素点击

http://127.0.0.1:35000/api/v1/profile/findElement?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&function=findElementByID&args=kw&click=true&index=-1


7. 发送文字到网页中


首先可以先使用 findElementByID 找元素的 elementId ,例如:

http://127.0.0.1:35000/api/v1/profile/findElement?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&function=findElementByID&args=kw&click=false&index=-1

也可以使用:findElementByXPath 方工找元素的 elementId ,例如:

http://127.0.0.1:35000/api/v1/profile/findElement?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&function=findElementByXPath&args=Ly8qW0BpZD0ia3ciXQ==&click=false&index=-1

上面 args 参数使用 base64 编码传输,解码后是://*[@id="kw"]

上面GET请求会返回:

{"status":"OK","value":"{\"element-6066-11e4-a52e-4f735466cecf\":\"49e49e71-2a55-4e79-a41b-86840ffd18c8\"}"}

其中 49e49e71-2a55-4e79-a41b-86840ffd18c8 就是要用到的elementId 。


http://127.0.0.1:35000/api/v1/profile/sendKeys?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&elementId=49e49e71-2a55-4e79-a41b-86840ffd18c8&value=5Lit5paHYWJjMTIz

上面 value 也使用了 base64 编码传输,防止GET传输失败。

value=5Lit5paHYWJjMTIz,就是换这个网页控件中发送 中文abc123 字符串。注意网页要加载完毕才能进行这些自动化操作,不然有可能动作会被阻塞。


这里的35000端口,是VMLogin 客户端软件中我的帐号里设置的端口,注意开启和变化。

相关文章

VMLogin防关联指纹浏览器 V1.2.9.1版本更新内容

1、添加本地API自动化发送特殊按钮功能Enter,Escape,Tab;例:Enter=回车 http://127.0.0.1:35000/api/v1/profile/sendKeys?...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。