Atitit.web的自动化操作与信息抓取 attilax总结

1. Web操作自动化工具,可以简单的划分为2大派系: 1.录制回放 2.手工编写0 U' z; D! s2 d/ Q! ^1

2. 常用的软件1

2.1. swt (ie com)  ,nativeswing2

2.2. 基于 selenium2

2.3. Imacro for firefox插件2

2.4. Zenno Poster2

2.5. Ubot在Zenno Poster出来以前应该是最火爆的Web自动化工具(BHW最常见的IM工具)2

3. 操作web 与 信息抓取2

3.1. 通过dom2

3.2. 通过js2

4. 与后端通信2

5. 脚本生成器(录制器)3

6. 线程安全3

7. selenium webdriver 和 selenium rc 什么区别3

7.1. 3、   Selenium1.0的缺点?3

7.2. 4、  Selenium2有什么好处?4

8. Webdrive原理4

8.1. WebDriver4

9. 参考5

1. Web操作自动化工具,可以简单的划分为2大派系:
1.录制回放
2.手工编写0 U' z; D! s2 d/ Q! ^

2. 常用的软件

2.1. swt (ie com)  ,nativeswing

2.2. 基于 selenium

selenium webdriver

2.3. Imacro for firefox插件

2.4. Zenno Poster

目前最好用的录制级别Web自动化工具,正式版的貌似已经更新到ZP5了,但

2.5. Ubot在Zenno Poster出来以前应该是最火爆的Web自动化工具(BHW最常见的IM工具)

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

3. 操作web 与 信息抓取

3.1. 通过dom

3.2. 通过js

4. 与后端通信

selenium可以操作页面的元素,并且提供执行js脚本的接口。但其调用js脚本后并不能直接返回执行的结果,好像只建立扩展到方式

5. 脚本生成器(录制器)

Selenium  ide

6. 线程安全

webDriver不是线程安全的,所以我们需要建立一个webDriver池来保存它们。不清楚Selenium是否有这样的接口,反正我是自己写了一个WebDriverPool来完成这个任务。

7. selenium webdriver 和 selenium rc 什么区别

我们平时所说的selenium说的都是selenium1(有名Selenium 
RC),他曾经有个非常强的竞争对手就是Webdriver,后来Selenium团队发布了Selenium2。Selenium2= 
Selenium1+webdriver,这样的组合使Selenium的功能增强了n倍,用户也可以很自由的选择自己喜欢的工具。

什么是Webdriver?

WebDriver是一个用来进行复杂重复的web自动化测试的工具。意在提供一种比Selenium1.0更简单易学,有利于维护的API。它没

7.1.  3、   Selenium1.0的缺点?

Selenium1.0不能处理以下事件:

1)         本机键盘和鼠标事件

2)         同源策略XSS/HTTP(S)

3)         弹出框,对话框(基本身份认证,自签名的证书和文件上传/下载)

7.2. 4、  Selenium2有什么好处?

当这两个框架被合并后,一个框架的缺陷被另一个框架所弥补。WebDriver对浏览器的支持需要对应框架开发工程师做对应的开发;同样
Selenium必须操作真实浏览器,但是WebDriver可以HTML unit 
Driver来模拟浏览器,在内存中执行用例,更加的轻便。Selenium1.0解决了自动化测试中的一些常见问题,WebDriver更好的解决了沙
箱限制。WebDriver不支持并行,但是Selenium Grid解决了这个问题。

8. Webdrive原理

8.1. WebDriver

WebDriver(或者Selenium 2)基本上指的都是特定浏览器控制代码的语言绑定和实现。

WebDriver引入了一个JSON wire protocol用于将不同的语言和浏览器控制器进行交流。

例如,在浏览器中点击了一个元素,绑定将会发送一个POST请求到session/:sessionId/element/:id/click。

因此,WebDriver的一端是一个语言绑定,而另一端,是叫做Selenium server的服务器。二者之间的交流使用的就是JSON wire protocol。

9. 参考

使用Selenium来抓取动态加载的页面 - 黄亿华的个人页面 - 开源中国社区.htm

Selenium user extension - Bruce's Space - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园.htm

Selenium  User Extension (Action) - 用Action的扩展举例说明如何扩展Selenium_Bruce_新浪博客.htm

IM Web自动化工具大全,全部亲测可用,申请加精 - 网络营销下载专区_ Download Section - - 广告中国.html

自动化e2e测试 -- WebDriverJS,Jasmine和Protractor.html

PowerShell小技巧实现IE Web自动化_PowerShell_脚本之家.html

Atitit.web的自动化操作与信息抓取 attilax总结的更多相关文章

  1. 网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/23866427 今天又遇到一个网页数据抓取的任务,给大家分享下. 说道网页信息抓取 ...

  2. 网页信息抓取 Jsoup的不足之处 httpunit

    今天又遇到一个网页数据抓取的任务,给大家分享下. 说道网页信息抓取,相信Jsoup基本是首选的工具,完全的类JQuery操作,让人感觉很舒服.但是,今天我们就要说一说Jsoup的不足. 1.首先我们新 ...

  3. Ajax异步信息抓取方式

    淘女郎模特信息抓取教程 源码地址: cnsimo/mmtao 网址:https://0x9.me/xrh6z   判断一个页面是不是Ajax加载的方法: 查看网页源代码,查找网页中加载的数据信息,如果 ...

  4. 网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)

    转自原文 网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp) 最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决 ...

  5. 接口测试——fiddler对soapui请求返回信息抓取

    原文:接口测试——fiddler对soapui请求返回信息抓取 背景:接口测试的时候,需要对接口的请求和返回信息进行查阅或者修改请求信息,可利用fiddler抓包工具对soapui的请求数据进行抓取或 ...

  6. Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求

    jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...

  7. WEB中调用Nutch执行JOB抓取

    参考:在Eclipse中运行Nutch 把nutch的源代码导入到eclipse工程自定义抓取任务. 下载源码: http://svn.apache.org/repos/asf/nutch/ 从svn ...

  8. eml文件解析实例,简历信息抓取工具

    先上工具效果图,如下图所示: 背景 某公司使用58同城进行人员招聘,当有应聘人员通过58同城给该公司投简历后,58同城会发送一份邮件到该公司的注册邮箱,邮件内容如上图右侧显示,主题为“应聘贵公司XXX ...

  9. 爬虫技术 -- 进阶学习(十)网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)

    最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/Scrapy ...

随机推荐

  1. dubbo-001--前言

    1,前言: 第一次了解dubbo是在15年刚工作的时候在瑞友,项目是给凯撒旅游公司签证部做一个签证系统,项目需要调用一些凯撒的方法,比如权限.部门信息,跟签证相关的一些如签证国家城市.领区啥玩意的,等 ...

  2. ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 2

    这是sqoop的 迁移数据到hive的报错 解决方案: 1,已经尝试不是  晚上大多数说的 libthrity的原因 2,查看自己的配置  sqoop-env.sh  如果配置的路径写的不对,对应的包 ...

  3. oc中的枚举

    如果一个变量只有几种可能的值,比如星期有几天,一年有几个季节等.这个时候可以用枚举变量. 先定义类型再定义变量,如:enum siji{chun,xia,qiu,dong} 也可以定义匿名:enum{ ...

  4. 读书笔记(02) - 可维护性 - JavaScript高级程序设计

    编写可维护性代码 可维护的代码遵循原则: 可理解性 (方便他人理解) 直观性 (一眼明了) 可适应性 (数据变化无需重写方法) 可扩展性 (应对未来需求扩展,要求较高) 可调试性 (错误处理方便定位) ...

  5. tomcat 调优-生产环境必备

    目录 1. tomcat 启动慢 1.1 tomcat 获取随机值阻塞 1.2 tomcat 需要部署的web应用程序太多 1.3 tomcat启动内存不足 2 Connector 调优 2.2 Co ...

  6. lucene 初探

    前言: window文件管理右上角, 有个搜索功能, 可以根据文件名进行搜索. 那如果从文件名上判断不出内容, 我岂不是要一个一个的打开文件, 查看文件的内容, 去判断是否是我要的文件? 几个, 十几 ...

  7. 本地主机访问不了nginx 页面,请求超时

    虚拟机可以正常访问nginx页面,但是电脑浏览器访问不了,一番排差,防火墙的问题. /etc/init.d/iptables stop

  8. ThreadLocal剧集(一)

    总述     最近做了一个日志调用链路跟踪的项目,涉及到操作标识在线程和子线程,线程池以及远程调用之间的传递问题.最终采用了阿里开源的TransmittableThreadLocal插件(https: ...

  9. double转换为int以及浮点型相加损失精度问题

    最近在做支付相关模块的业务,数据库字段却使用的是double类型,其实也行,只要计算不在sql语句中进行,也是没有问题的. 预先的类属性设置的是Double类型,自己算的时候发现小数相加会出现损失精度 ...

  10. 浅析libuv源码-获取精确时间

    在Timer模块中有提到,libuv控制着延迟事件的触发,那么必须想办法精确控制时间. 如果是JS,获取当前时间可以直接通过Date.now()得到一个时间戳,然后将两段时间戳相减得到时间差.一般情况 ...