当前位置: 首页 > 面试题库 >

浏览器和抓取-解决方案

呼延衡
2023-03-14
问题内容

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

浏览器测试/报废:

  • Selenium - 通晓多国语言的浏览器自动化的旗舰,为Python和Ruby,JavaScript中,C#,Haskell和更多,IDE的Firefox(作为扩展),更快的测试部署绑定。可以充当服务器并具有大量功能。
    JAVASCRIPT

  • PhantomJS - JavaScript使用Webkit进行无头测试,包括屏幕捕获和自动化。从1.8版开始,Selenium的WebDriver API已实现,因此你可以使用任何WebDriver绑定,并且测试将与Selenium兼容

  • SlimerJS-与PhantomJS相似,使用Gecko(Firefox)代替WebKit
  • CasperJS - JavaScript的,建立在两个PhantomJS和SlimerJS,具有额外的功能
  • Ghost Driver - 的JavaScript执行的webdriver的Wire协议的PhantomJS。
  • new PhantomCSS -CSS回归测试。一个CasperJS模块,用于使用PhantomJS和 Resemble.js自动化视觉回归测试。
  • new WebdriverCSS -插件为 Webdriver.io自动化视觉回归测试
  • new PhantomFlow-描述和可视化通过测试的用户流程。Web用户界面测试的实验方法
  • new trifleJS-移植 PhantomJS API以使用Internet Explorer引擎。
  • new CasperJS IDE (commercial)

NODE.JS

  • Node- phantom-弥合PhantomJS和node.js之间的鸿沟
  • WebDriverJs -Selenium Team对node.js的Selenium WebDriver绑定
  • WD.js -WebDriver / Selenium 2的节点模块
  • yiewd - WD.js包装采用最新和谐发电机!用yield摆脱回调金字塔
  • ZombieJs-使用node.js进行快速,无头的全栈测试
  • NightwatchJs-使用Selenium Webdriver的基于Node JS的测试解决方案
  • Chimera -Chimera:可以完成phantomJS的所有工作,但是在完整的JS环境中
  • Dalek.js-通过Selenium Webdriver使用JavaScript自动进行跨浏览器测试
  • Webdriver.io-通过预定义的50多个操作更好地实现WebDriver绑定
  • Nightmare -具有高级API的电子桥。
  • jsdom-专门针对网络抓取。Node.js中实现的一种非常轻量级的DOM,它支持带有javascript的页面。
  • new Puppeteer-节点库,提供了用于控制Chrome或Chromium的高级API。默认情况下,Puppeteer无头运行。

网页抓取/挖掘

  • Scrapy - Python,主要是一个scraper / miner-快速,完善的文档,可以与Django Dynamic Sc​​raper链接以进行良好的挖掘部署,也可以与Scrapy Cloud进行PaaS(无服务器)部署相结合,可在终端或服务器独立程序中运行,可与Twisted顶部的Celery一起使用
  • Snailer - node.js模块,未经测试。
  • Node-Crawler - node.js模块,尚未测试。
    在线工具

  • new Web爬网语言 -用于爬网的简单语法

  • new 在线HTTP客户端 -专用SO答案

  • dead CasperBox-在线运行 CasperJS脚本

相关链接和资源

Web抓取软件的比较
新的 Resemble.js:图像分析和比较
问题:

是否有任何纯Node.js解决方案或PhanthomJS / CasperJS模块的Nodejs实际有效并已记录在案?
答: Chimera似乎朝这个方向发展,结帐Chimera

其他解决方案比Selenium更容易进行JavaScript注入吗?

你知道任何纯红宝石解决方案吗?

答案:检出由rjk使用基于ruby的解决方案创建的列表

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


问题答案:

Dalek.js是一种基于JS的Selenium 。它不仅旨在进行自动化的前端测试,还可以使用它进行屏幕截图。它具有适用于所有重要浏览器的Web驱动程序。不幸的是,那些网络驱动程序似乎值得改进(只是对Firefox而言不是“buggy”)。



 类似资料:
  • 主要内容:控制台界面,数据包抓取,看变化规律几乎所有浏览器都提供了抓取数据包的功能,因为浏览器为抓包提供了一个专门的操作界面,因此这种抓包方式也被称为“控制台抓包”。本节以 Chrome 浏览器为例进行抓包演示。 控制台抓包指的是利用浏览器开的发者调试工具抓取客户端与后端服务器交互的数据,它能够将网络传输中发送与接收的数据进行截获、重发和编辑。 控制台抓包非常适合于 POST 请求类型。我们知道,POST 请求使用 Form 表单向服务器提

  • 本文向大家介绍python使用mitmproxy抓取浏览器请求的方法,包括了python使用mitmproxy抓取浏览器请求的方法的使用技巧和注意事项,需要的朋友参考一下 最近要写一款基于被动式的漏洞扫描器,因为被动式是将我们在浏览器浏览的时候所发出的请求进行捕获,然后交给扫描器进行处理,本来打算自己写这个代理的,但是因为考虑到需要抓取https,所以最后找到Mitmproxy这个程序。 安装方法

  • 问题内容: 我花了一天的时间研究可用于完成以下任务的图书馆: 检索网页的全部内容(例如在后台),而不向视图渲染结果。 例如,lib应该支持触发ajax请求的页面,以便在加载初始HTML之后加载一些其他结果数据。 从生成的html中,我需要获取xpath或CSS选择器形式的元素。 将来我可能还需要导航到下一页(触发事件,提交按钮/链接等) 这是我尝试未成功的尝试: Jsoup:效果很好,但不支持ja

  • 本文向大家介绍C#浏览器提示跨域问题解决方案,包括了C#浏览器提示跨域问题解决方案的使用技巧和注意事项,需要的朋友参考一下 一,我们使用两个域名互相访问的时候会提示跨域,原因在哪里呢?如下图跨域,我们探究下 是什么原因导致浏览器报这个错呢? 二,我们研究下看看请求是否成功。,如下图,浏览器返回的是200,证明请求是成功了,同时返回是成功了,那为什么还提示跨域呢? 三,经过看浏览器跨域的提示可知道“

  • 本文向大家介绍.net 解决spider多次和重复抓取的方案,包括了.net 解决spider多次和重复抓取的方案的使用技巧和注意事项,需要的朋友参考一下 原因: 早期由于搜索引擎蜘蛛的不完善,蜘蛛在爬行动态的url的时候很容易由于网站程序的不合理等原因造成蜘蛛迷路死循环。 所以蜘蛛为了避免之前现象就不读取动态的url,特别是带?的url 解决方案: 1):配置路由 第一个参数是路由名称 第二个参

  • 本文向大家介绍IE浏览器不支持getElementsByClassName的解决方法,包括了IE浏览器不支持getElementsByClassName的解决方法的使用技巧和注意事项,需要的朋友参考一下 在DOM3里已经加入了getElementsByClassName这个方法,然而IE9、10以外的其它版本均不支持,这是一块伤痛啊! 目前可以这么解决,判断浏览器支不支持这个方法,如果支持就不管;