VMLogin指纹浏览器

Selenium/Puppeteer自动化接口

VMLogin指纹浏览器是支持Selenium和Puppeteer等自动化操作接口自动化操作的

移动仿真模式的mobile模式下,脚本无法生效,换成desktop脚本就能触动了

在每个VMLogin浏览器 — 其他配置 — 自定义浏览器启动参数里加入(如下方的示意图):

--single-process --disable-web-security

单进程模式 和 允许跨域 操作。这两种参数看看能不能解决问题。

1、单个设置:在每个浏览器中加入API命令,加入多个命令是中间加空格

image 16

2、全局设置:可以将API命令加入偏好设置内,每个新建的指纹浏览器都将默认执行

image 17

API远程访问配置:

在VMLogin软件里--我的账户--浏览器自动化设置--监听地址改为0.0.0.0,表示所有人都可以通过IP来连。如果设置了访问密码,请加password=xxxxx参数。

2024112613380094

在每个VMLogin浏览器 — 其他配置 — 自定义浏览器启动参数里加入(如下方的示意图):

--disable-web-security

1、单个设置:在每个浏览器中加入API命令,加入多个命令是中间加空格

image 16

2、全局设置:可以将API命令加入偏好设置内,每个新建的指纹浏览器都将默认执行

image 17

##使用API执行JS##

<form action="http://127.0.0.1:35000/api/v1/profile/ExecuteScript"  method="post">
profileId:<br>
<input type="text" name="profileId" value="">
<br>
JS (need base64 encode ):<br>
<input type="text" name="body" value="YWxlcnQoIm9rIik7">
<br><br>
<input type="submit" value="Submit">
</form>

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/stop?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx&force=false

3. 当前标签打开指定网址:

http://127.0.0.1:35000/api/v1/profile/openurl?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&url=www.vmlogin.cc

4. 获取网页源代码:

http://127.0.0.1:35000/api/v1/profile/source?profileId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

5. 寻找网页中的元素:

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 参数为函数的参数,如:findElementByID(args)
click 参数true 时,找到元素后会执行点击操作,默认为 false
index 参数用于在多个元素中选择点击第几个,-1 为随机选择一个元素。

6.取指定元素属性值:

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 值。

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

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

8. 发送文字到网页中:

首先可以先使用 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指纹浏览器客户端软件中我的帐号里设置的端口,注意开启和变化。

为什么在软件界面上面直接创建的新配置和用API接口随机出来的配置参数信息差很多?

软件上面点创建随机的配置都没问题,API生成的都有问题。API参数要自己配置,UA可以随机获取,其它参数根据自己需求修改就好。

image.png 

这个就是获取到(完整)配置信息,然后,根据您自己的需求提取需要的内容修改,可以比对一下软件里手工创建的有什么不同,针对性修改就好。

看一下接口访问链接有没有搞错,我们有线上接口和线下接口之分;

Base URL:https://api.vmlogin.com/v1

Local REST API 接口文档说明:点击查看

如何将google.com、facebook.com、twitter.com 等配置为不走代理 (DIRECT或REJECT)

在每个VMLogin浏览器 — 其他配置 — 自定义浏览器启动参数里加入(如下方的示意图):

--proxy-bypass-list=*.google.com,*.facebook.com,*.twitter.com

设置主机解析规则

# MAP * 0.0.0.0:将所有域名解析到 IP 地址 0.0.0.0。

# 这通常用于阻止所有网络流量,因为 0.0.0.0 是一个不可路由的地址。

# EXCLUDE localhost:排除 localhost,使其仍然解析到本地地址(通常是 127.0.0.1)。

--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"

如果你想要将所有指向example.com的请求都解析到123.45.67.89这个IP地址,

--host-resolver-rules="MAP example.com 123.45.67.89"

只要解析到不存在的IP,就是拦载这个域名了。这样就是不走代理。


1、单个设置:在每个浏览器中加入API命令,加入多个命令是中间加空格

image 16

2、全局设置:可以将API命令加入偏好设置内,每个新建的指纹浏览器都将默认执行

image 17
  1. 先使用随机获取配置信息接口:https://m.vmlogin.com/zh-cn/v1/rest-api.html#/profile/randomProfile 
  2. 获取到(完整)配置信息后,根据您自己的需求提取需要的内容
  3. 再使用创建浏览器配置文件接口:https://m.vmlogin.com/zh-cn/v1/rest-api.html#/profile/create 创建配置文件

VMLogin指纹浏览器是一款通过模拟不同设备的软硬件指纹信息,实现一台电脑同时多开浏览器分身,每个防关联浏览器独立IP,适用于跨境电商亚马逊、TikTok、eBay,社媒营销FB、Twitter、Google等全球网站平台。  本产品版权归 VMLogin 所有。更多阅读请查看:官方博客博客资讯跨境新闻