跳转到主要内容

通过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(或 idclass)选择器的参数。如果使用了可选的 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 (17.0 kB 查看哈希值

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面