通过zmq提供解耦浏览器创建/驱动的服务器
项目描述
通过zmq提供解耦浏览器创建/驱动的服务器
服务器在端口(默认5402)上监听命令字符串。这些命令应来自ruamel.browser.client。
大多数命令字符串以br BID ...开始,因此需要具有唯一的浏览器ID(BID)。
您可以使用check BID检查BID是否可用(即从之前的运行中打开的浏览器),如果不可用,则应使用init BID TYPE`初始化新的浏览器,其中TYPE例如,为由selenium驱动的Firefox浏览器指定selenium。
如果您想创建的浏览器需要在VNC下运行,首先使用display DISPNAME port_num x-size y-size创建虚拟显示,然后使用init display DISPNAME BID TYP(例如)初始化浏览器
display virt1 5409 1000 500 init display virt1 stackoverflow selenium
您可以重复使用DISPNAME用于不同的浏览器。如果不指定display,浏览器将在桌面上打开(需要存在)。
一旦您为浏览器获得一个BID`,就可以发送命令。所有浏览器都应该实现退出(通过br BID quit触发)并将详细程度设置为非0(br BID verbose NUM)
您可以通过不同的方式在页面上找到元素,CSS选择是推荐的方式(该技能可以在构建自己的网站时指定CSS文件时重用)。语法是
find [store ELEM] css|id|class MSG
其中 MSG 用作 css(或 id 或 class)选择器的参数。如果使用了可选的 store ELEM 部分,则页面上的元素将被存储以供后续在 find 或其他操作元素或 DOM 树部分的命令中使用。Find 还设置了一个“当前元素”,如果未使用可选的“elem ID”参数选择特定元素,则将在未来的命令中使用
在 selenium 后端中可用的其他命令
title: returns title of current page current_url: return URL of page that is open get SOMEURL: "browse" to the page SOMEURL click [elem ELEM]: click on the current displayed [elem ELEM]: check if the element is displayed (returns yes or no) keys [elem ELEM] SEQUENCE_OF_KEYS: send keys to the selected element down_up [elem ELEM]: similar to click but with a delay after mouse down of 0.5s javascript PROGRAM: execute PROGRAM in the browser inner [elem ELEM]: return the inner HTML attribute (for further processing on client side) hover [elem ELEM]: hover the mouse above an element (might trigger some javascript loading) findallid [elem ELEM] CSS: for elements by CSS selector (under ELEM if specified) return IDs
由于键可以单独发送到浏览器,因此您可以与期望人们输入答案的页面进行交互(而不是一次性填写表单元素)。使用 inner,您还可以获取此类元素中的内容,例如,如果浏览器执行了一些基于 JavaScript 的扩展。
RBSSENIUM 环境变量
虽然自动化,特别是使用 VNC 显示,不会在您面前弹出广告,但您可能希望设置一个环境变量 RBSSENIUM。在 env. 变量指向的绝对路径下,至少应该有两个文件
adblock/adblock_plus-2.7-fx+sm+tb+an.xpi profile00/adblockplus/patterns.ini
这些文件将被加载到 FireFox 中,防止广告打开。这可能会极大地影响您导航网站的速度。
项目详情
ruamel.browser.server-0.4.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a364ea7ed4cdf3831346b101f437ca6ff70e8ceaa4e6ae92b616f2f2cf4d9ac8 |
|
MD5 | 8efadf53ed34d10acaa9e43740a555cb |
|
BLAKE2b-256 | f8a126c42b4c6e5cf04ecbf3e583336e6ec101f917e5ea6e2b0e9a88a8c25b5c |