简化浏览器自动化的包
BrowserAutomator的Python项目详细描述
自动浏览器
BrowserAutomator是一个帮助您使用简单的YaML配置轻松控制网站的软件包。
安装
对python 3使用pip:
pip install BrowserAutomator
配置
设置YML
在这些文件中,可以指定启动实用程序时按给定顺序运行的操作。
以下操作可用:
zoom
:给定百分比(例如50%),缩放到指定视图wait
:给定时间单位(秒、分、小时、天)和时间量,阻塞性地等待时间量wait for it
:给定一个操作/a一系列操作,尝试运行它们直到成功(例如,元素必须加载可变时间的交互)load
:给定一个url,在当前选项卡中打开站点new_tab
:给定一个url,在一个新选项卡中打开站点switch_tabs
:给定选项卡的索引,切换到指定的选项卡interact
:给定html元素的type
及其name
(和content
),如果没有给出content
标记,则单击该元素。否则它会被当作一个文本字段来处理,并将content
用作输入。如果要使用加密(例如密码),请查看下面的“加密”一章以下类型可用:
id
,name
,class
,css
,xpath
,tag_name
for_every
:给定一个urls
列表和一个actions
列表,对每个url运行操作。load
和new_tab
操作中的url被当前url替换
循环YML
在这些文件中,可以指定安装程序运行一次后循环的操作。是否必须运行某个操作的检查是通过使用模来确定的,而不是从程序开始算起(每8小时重复一次=>;每次时钟到达上午0:00、上午8:00、下午4:00时重复一次)。
以下操作可用:
repeat every
:给定一个时间单位(秒、分、小时、天)和一个时间量,每n秒/分钟重新启动一次脚本。fix wifi
:给定时间单位和时间量,每N秒/分钟检查一次。……如果网络正在工作,如果不工作则重新启动脚本switch tabs
:给定一个时间单位和一个时间量,每N秒/分钟切换一次下一个选项卡。如果到达最后一个选项卡,则返回到第一个选项卡
加密
在某些情况下,不希望存储纯文本,例如,当您要使用BrowserAutomator输入密码时。 在这种情况下,BrowserAutomator有可能使用带有公钥和私钥的RSA加密。
生成密钥
要生成所需的两个键,可以使用以下函数:
BrowserAutomator.cipher_util.key_generator(private_key_path, public_key_path, key_length=1024)
默认情况下,这将使用“pycryptodome”库创建一个1024位rsa密钥对,并将生成的密钥写入给定的路径。如果需要,也可以使用任何其他密钥生成器。
加密内容
要加密字符串,可以使用:
BrowserAutomator.cipher_util.encrypt(public_key_path, clear_text)
使用给定公钥加密明文并返回加密字节的函数BrowserAutomator.cipher_util.write_encrypted(output_file_path, public_key_path, clear_text)
将结果写入指定路径
唯一支持的加密协议是rsaes-oaep。
您必须将加密结果保存为一个文件,以便与BrowserAutomator一起使用。
取消显示交互操作中的内容
要在交互操作中使用加密数据,必须使用以下语法:
- interact:
- type: *like specified above*
name: *like specified above*
content:
private_key_path: *path to your private key*
encrypted_file_path: *path to the file with encrypted content*
日志记录
如果要更改预定义的日志记录行为,请在调用“run”函数时更改参数“log path”和“log level”。
log_path
可以是任何有效路径,包括filename或none(这将禁用对文件的日志记录)。默认为“/tmp/browserautomator.log“log_level
可以是日志库提供的任何日志级别、字符串(“info”、“debug”等)或无(这将完全禁用库的日志记录)。默认为“错误”
用法
在python中:
from BrowserAutomator.setup import run
run([your_setup_yml_filenames], [your_loop_yml_filenames], chromedriver_path=your_chromedriver_path, log_path=your_log_path, log_level=your_log_level)
如果在chromedriver路径中没有另外指定,selenium将在路径中搜索chromedriver。
默认日志路径是“/tmp/browserautomator.log”
默认日志级别为“error”