简化浏览器自动化的包

BrowserAutomator的Python项目详细描述


自动浏览器Build Status

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用作输入。如果要使用加密(例如密码),请查看下面的“加密”一章

    以下类型可用:idnameclasscssxpathtag_name

  • for_every:给定一个urls列表和一个actions列表,对每个url运行操作。loadnew_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”

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是用来加速集合中对象查找的哈希代码吗?   java在Servlet中执行后将JSP请求重定向到自身   JavaHTTPStatus415使用Ajax将Json数据发布到SpringMVC4也使用了SpringSecurity   java为什么谷歌应用引擎MySQL JDBC URL不与数据库连接?   多线程Java:强制停止ExecutorService线程   java使用For循环向组合框添加值   java子Git“内存不足”和“超出GC开销限制”   使用正则表达式运行计算器程序时出现java NumberFormatException   java MockMvc测试POST请求返回错误:实际调用有不同的参数:   java自动在虚拟机内移动鼠标,与真实的鼠标无关   当类位于类路径上时,java Surefire抛出SurefireReflectionException   java GroupLayout错误:找不到错误的行   SpringHibernateJava。lang.NoSuchFieldError:实例   从一个java密钥库生成多个个人证书的身份验证   java 1.6.013中的eclipse@WebServlet注释支持   java Spring Webservicetemplate连接重置错误   spring如何修复SqlRowSet上的“无效游标SQL异常”。Java中的Next()   java Websphere版本迁移