

发布于 2024-04-03 15:596973浏览代码
# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
def main(args):
pass
import requests
import json
import time
# 官方文档地址
# https://doc2.bitbrowser.cn/jiekou/ben-di-fu-wu-zhi-nan.html
# 此demo仅作为参考使用,以下使用的指纹参数仅是部分参数,完整参数请参考文档
url = "http://127.0.0.1:54345"
headers = {'Content-Type': 'application/json'}
def createBrowser(): # 创建或者更新窗口,指纹参数 browserFingerPrint 如没有特定需求,只需要指定下内核即可,如果需要更详细的参数,请参考文档
json_data = {
'name': 'google', # 窗口名称
'remark': '', # 备注
'proxyMethod': 2, # 代理方式 2自定义 3 提取IP
# 代理类型 ['noproxy', 'http', 'https', 'socks5', 'ssh']
'proxyType': 'noproxy',
'host': '', # 代理主机
'port': '', # 代理端口
'proxyUserName': '', # 代理账号
"browserFingerPrint": { # 指纹对象
'coreVersion': '112' # 内核版本 112 | 104,建议使用112,注意,win7/win8/winserver 2012 已经不支持112内核了,无法打开
}
}
res = requests.post(f"{url}/browser/update",
data=json.dumps(json_data), headers=headers).json()
print(res)
browserId = res['data']['id']
print(browserId)
return browserId
def updateBrowser(): # 更新窗口,支持批量更新和按需更新,ids 传入数组,单独更新只传一个id即可,只传入需要修改的字段即可,比如修改备注,具体字段请参考文档,browserFingerPrint指纹对象不修改,则无需传入
json_data = {'ids': ['93672cf112a044f08b653cab691216f0'],
'remark': '我是一个备注', 'browserFingerPrint': {}}
res = requests.post(f"{url}/browser/update/partial",
data=json.dumps(json_data), headers=headers).json()
print(res)
def openBrowser(id): # 直接指定ID打开窗口,也可以使用 createBrowser 方法返回的ID
json_data = {"id": f'{id}'}
res = requests.post(f"{url}/browser/open",
data=json.dumps(json_data), headers=headers).json()
print(res)
print(res['data']['http'])
return res
def closeBrowser(id): # 关闭窗口
json_data = {'id': f'{id}'}
requests.post(f"{url}/browser/close",
data=json.dumps(json_data), headers=headers).json()
def deleteBrowser(id): # 删除窗口
json_data = {'page': f'{id}'}
print(requests.post(f"{url}/browser/delete",
data=json.dumps(json_data), headers=headers).json())
def 获取所有浏览器列表():
json_data = {'page': 0,"pageSize":100}
rsc=requests.post(f"{url}/browser/list",
data=json.dumps(json_data), headers=headers).json()
return rsc
获取所有浏览器列表()
# browser_id = createBrowser()
# openBrowser("deae630ae6614719a6bec2e9c14f566d")
# time.sleep(10) # 等待10秒自动关闭窗口
# closeBrowser("deae630ae6614719a6bec2e9c14f566d")
# time.sleep(10) # 等待10秒自动删掉窗口
# deleteBrowser(browser_id)
视频教学
https://www.bilibili.com/video/BV1SM4m1X7rH/