关于selenium:无头浏览器和抓取 – 解决方案

Headless Browser and scraping - solutions

我正试图为浏览器自动测试套装和能够抓取的无头浏览器平台列出可能的解决方案。

浏览器测试/抓取:

  • Selenium-PolyGlot是浏览器自动化领域的旗舰产品,针对python、ruby、javascript、c_、haskell等的绑定,针对firefox的IDE(作为扩展)用于更快的测试部署。可以充当服务器并具有大量功能。

JavaScript

  • PhantomJS-javascript是一种无头测试,具有屏幕捕获和自动化功能,使用WebKit。从1.8版起,Selenium实现了WebDriver API,因此您可以使用任何WebDriver绑定,并且测试将与Selenium兼容。
  • SlimerJS-类似于PhantomJS,使用gecko(firefox)而不是webkit
  • casperjs-javascript构建在phantomjs和slierjs上,具有额外的特性
  • Ghost驱动程序-用于PhantomJS的WebDriver Wire协议的JavaScript实现。
  • 新的phantomcss-css回归测试。一个casperjs模块,用于使用phantomjs和simile.js自动进行视觉回归测试。
  • 用于自动进行可视回归测试的WebDriver.io的新WebDriverCSS插件
  • 新的幻象流-描述和可视化用户流通过测试。Web用户界面测试的实验方法。
  • 新的triflejs-移植PhantomJS API以使用Internet Explorer引擎。
  • 新casperjs ide(商用)

J.N.

  • node phantom-桥接phantom js和node.js之间的间隙
  • webdriver js-Selenium团队为node.js绑定Selenium webdriver
  • wd.js-用于WebDriver/Selenium 2的节点模块
  • Yiewd-wd.js包装使用最新的Harmony生成器!以收益摆脱回调金字塔
  • 僵尸-使用node.js进行极快的无头全堆栈测试
  • 使用Selenium WebDriver的基于NightWatchJS-节点JS的测试解决方案
  • 奇美拉-奇美拉:可以像PhantomJS那样做任何事情,但是在一个完整的JS环境中。
  • dalek.js-通过Selenium WebDriver使用JavaScript进行自动跨浏览器测试
  • webdriver.io-通过预先定义的50+操作更好地实现webdriver绑定
  • 梦魇-电子桥与高水平的API。
  • jsdom-专门针对web抓取。一个在node.js中实现的非常轻量的DOM,它支持带有javascript的页面。

Web抓取/挖掘

  • scrappy-python,主要是scraper/miner,速度快,文档丰富,可以与django dynamic scraper链接以进行良好的挖掘部署,或者与scrappy cloud连接以进行PaaS(无服务器)部署,在终端或服务器独立进程中工作,可以与芹菜一起使用,构建在Twisted之上。
  • snailer-node.js模块,尚未测试。
  • node crawler-node.js模块,尚未测试。

在线工具

  • 新的在线HTTP客户端-专用SO应答
  • 死casperbox-联机运行casperjs脚本

相关链接和资源

  • 网络爬虫软件的比较
  • 新的simile.js:图像分析和比较

问题:

  • 任何纯node.js解决方案或node js到phanthomjs/casperjs模块,实际工作并记录在案?

回答:奇美拉好像朝那个方向走了,看看奇美拉。

  • 其他比Selenium更容易注入javascript的解决方案?

  • 你知道纯Ruby解决方案吗?

答:用基于Ruby的解决方案检查RJK创建的列表

  • 你知道任何相关的技术或解决方案吗?

请随意编辑此问题并根据需要添加内容!感谢您的贡献!


如果你喜欢红宝石,你也可以尝试:

  • https://github.com/chriskite/almone(dev stopped)
  • https://github.com/sparklemotion/mechanical/机械化
  • https://github.com/postmoden/spidr
  • https://github.com/stewartmakee/cobweb
  • http://watirwebdriver.com/(硒)

此外,Nokogiri宝石还可用于刮削:

  • 网址:http://nokogiri.org/

关于如何利用Nokogiri进行packt出版的刮削,有一本专门的书。


http://triflejs.org/就像是幻影,但基于IE


一种基于JS的硒是dalek.js。它不仅针对自动化的前端测试,还可以用它进行截屏。它有适用于所有重要浏览器的Web驱动程序。不幸的是,这些网络驱动程序似乎值得改进(只是对firefox不说"bugy")。