FBC-SDK技术文档
简介
名称:FBC SDK for python
作用:
- 允许用户自己编写自动化脚本对接FBC指纹浏览器
- 允许用户在本地运行脚本控制FBC指纹浏览器窗口
目前只支持python
快速开始
首先
你需要安装FBC SDK
pip install fbc_for_python
本地控制FBC
如果你希望在本地运行你的 RPA 脚本,控制FBC浏览器
你可以这样:
- 下载适配的
webdriver,FBC版本目前为:chromium 117,chrome_driver下载地址:历史chrome driver - 编写你的 RPA 脚本,并使用 FBC SDK 启动脚本
函数形式:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from fbc_for_python import FBC
def spider(chrome_addr):
options = webdriver.ChromeOptions()
s = Service(r"您的webdriver路径")
options.debugger_address = chrome_addr
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://baidu.com')
if __name__ == '__main__':
fbc = FBC.FBC(fbc_addr="您的FBC地址")
fbc.start(spider)
spider为你自行编写的代码,但你的函数入口需要准备一个参数用于接受 FBC 浏览器的调试地址,如:chrome_addr
而如果你的代码是用类封装的,那你可以这样:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from fbc_for_python import FBC
class spider(object):
def run(self, chrome_addr):
options = webdriver.ChromeOptions()
s = Service(r"您的webdriver路径")
options.debugger_address = chrome_addr
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://baidu.com')
if __name__ == '__main__':
fbc = FBC.FBC(fbc_addr="您的FBC地址")
s = spider()
fbc.start(s.run)
同样,你的入口也需要准备一个参数用于接收 FBC 浏览器的调试地址
在FBC设备内控制FBC
而如果你希望脚本在FBC设备内运行,你还需要在入口多准备一个参数,用于接受
webdriver的路径,并且你需要在调用SDK启动方法的时候显式指定runInFBC=True来告诉SDK 本脚本是放在FBC设备内运行的(后期脚本商城)。
比如,像这样(函数):
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from fbc_for_python import FBC
def spider(chrome_addr, driver_path):
options = webdriver.ChromeOptions()
s = Service(driver_path)
options.debugger_address = chrome_addr
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://baidu.com')
if __name__ == '__main__':
fbc = FBC.FBC(fbc_addr="您的FBC地址")
fbc.start(spider, runInFBC=True)
或者,像这样(类):
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from fbc_for_python import FBC
class spider(object):
def run(self, chrome_addr, driver_path):
options = webdriver.ChromeOptions()
s = Service(driver_path)
options.debugger_address = chrome_addr
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://baidu.com')
if __name__ == '__main__':
fbc = FBC.FBC(fbc_addr="您的FBC地址")
s = spider()
fbc.start(s.run, runInFBC=True)
OK,现在你将可以在FBC RPA中为所欲为了。
其他
如果你希望在你的自动化脚本中捕获代理异常,并自动更换代理,你可以这样:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from fbc_for_python import FBC
def spider(chrome_addr):
fbc = FBC.FBC(fbc_addr="您的FBC地址")
options = webdriver.ChromeOptions()
s = Service(r"您的webdriver路径")
options.debugger_address = chrome_addr
try:
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://baidu.com')
except:
serial = fbc.get_serialID(chrome_addr=chrome_addr)
proxy_status = fbc.check_proxy(proxyINFO="代理协议://代理ip:代理端口:代理用户名:密码")
if proxy_status["data"]["netdelay"] != "不可用":
fbc.set_proxy(serial=serial, proxyINFO="代理协议://代理ip:代理端口:代理用户名:密码")
fbc.restart_browser(serials=[serial])
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://baidu.com')
if __name__ == '__main__':
fbc = FBC.FBC(fbc_addr="您的FBC地址")
fbc.start(spider)
当然,你也可以提前检测当前窗口使用的代理的健康状态,然后判断处理。请自行研究
SDK
安装sdk
pip install fbc_for_python
设置
延迟
用于设置脚本控制各个窗口的随机时间间隔.
示例:
开启延迟,并把随机间隔控制在 3-5s 之间
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.set_delay(
random_start=3,
random_end=5,
enable=True
)
最大进程
表示同时可以操作的浏览器窗口数量,如果您在本地运行您的脚本,您可以根据您本地电脑的CPU核心数调整,但如果您是在FBC设备内运行,建议保留默认值
示例:
指定最大同时控制的浏览器窗口数量为 30
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.set_maxThreads(maxThreads=30)
获取浏览器窗口调试地址
获取工作区全部窗口地址
fbc = FBC.FBC(fbc_addr="FBC设备IP")
addrs = fbc.get_chromeDebugAddr()
获取指定的的窗口地址
fbc = FBC.FBC(fbc_addr="FBC设备IP")
addrs = fbc.get_chromeDebugAddr(serials=[1,2])
如果你希望获取设备本地127.0.0.1的调试地址,你可以这样:
fbc = FBC.FBC(fbc_addr="FBC设备IP")
addrs = fbc.get_chromeDebugAddr(runInFBC=True)
获取调试地址对应的窗口编号
可用于后续窗口代理设置等需要传入窗口编号的地方
fbc = FBC.FBC(fbc_addr="FBC设备IP")
serial = fbc.get_serialID(chrome_addr="窗口调试地址")
获取代理信息
用于获取指定窗口的代理信息
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.get_proxy(serial="窗口编号")
设置代理
用于设置指定窗口的代理信息
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.set_proxy(serial="窗口编号", proxyINFO="代理协议://代理ip:代理端口:代理用户名:密码")
检查代理
检查您的代理是否可用
fbc = FBC.FBC(fbc_addr="FBC设备IP")
proxy_status = fbc.check_proxy(proxyINFO="代理协议://代理ip:代理端口:代理用户名:密码")
清空所有窗口代理
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.clear_all_proxy()
重启窗口
重启指定的窗口
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.restart_browser(serials=[1,2])
启动参数
爬虫函数(必传)
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.start(spiderFunc=spider)
指定控制的窗口编号
所有地址默认不传
serials就是操控所有工作区的窗口
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.start(spiderFunc=spider,serials=[1,2])
指定在FBC设备内运行脚本
fbc = FBC.FBC(fbc_addr="FBC设备IP")
fbc.start(spiderFunc=spider, serials=[1,2], runInFBC=True)
FAQ
其他SDK通用问题将在这儿展示
- 如果导入异常,请指定安装版本
pip install fbc_for_python==2.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file fbc_for_python-2.0.tar.gz.
File metadata
- Download URL: fbc_for_python-2.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/5.1.1 CPython/3.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c9c4a0a5ba94636b83f7c8fc826b87a2ae78504be80ddd488050796538db727
|
|
| MD5 |
5619d339569a8e5c8b959ff942267102
|
|
| BLAKE2b-256 |
eef7e0f3c77f43bcb9e736f003beb39b897d515fc3597ebe6188691b792f537d
|