Selenium自动化测试和网络爬虫
Selenium自动化总结
風の住む街~
一腔柔情,一抹忧伤。
展开
-
Scrapy框架中集成selenium(二):方法二重新构建中间件
twisted 开发者在遇到与 MySQL 数据库交互时,也有同样的问题:如何在异步循环中更好的调用一个IO阻塞的函数?于是他们实现了 adbapi,将阻塞方法放进了线程池中执行。基于此,我们也可以将 selenium 相关的方法放入线程池中执行,这样就可以极大的减少等待的时间 由于 scrapy 是基于 twisted 开发的,因此基于 twisted 线程池实现 selenium 浏览器池,就能很好的与 scrapy 融合在一起了,所以本次就基于 twisted 的 threadpool 开发,手把手写转载 2020-12-25 14:15:50 · 387 阅读 · 0 评论 -
Scrapy框架中集成selenium(二):方法一爬虫重新构造请求方法
1.集成selenium 下载中间件的 process_request 方法 ,它有四种返回值: process_request() should either: return None, return a Response object, return a Request object, or raise IgnoreRequest. 可以返回 None,scrapy 会继续调用其他下载中间件继续处理请求,一般修改代理 IP 或者修改请求头就使用这种方式 可以返回 Respons原创 2020-12-25 14:08:16 · 519 阅读 · 0 评论 -
Scrapy框架中集成selenium(一):原理篇
1.痛点 对于一般的爬虫,我们直接使用requests请求就可以直接获取到,但是有些网站存在反爬措施或者是动态加载数据,那我们就必须使用别的方式进行爬取了。我们这里介绍怎样在Scrapy中集成selenium. 2.原理 selenium采用的是模拟无头浏览器的方式,通过浏览器渲染和加载动态数据,但是其速度很慢。 scrapy 是一个非阻塞框架,selenium 是一个阻塞框架,将一个阻塞框架的代码放到非阻塞框架中并不是一个好得想法,但是在网站反爬实在太难时,使用selenium确是我们的一个解决方法。 s原创 2020-12-25 11:49:35 · 289 阅读 · 0 评论 -
Python之学习Selenium(四):固定的休眠时间、隐式等待和显示等待
我们设置selenium等待时间,通常会有三种方式: 1.sleep(); 设置固定的休眠时间,括号里写多少秒就睡多少秒。 这个种方法是直接给个固定值,并不能判断页面是否加载完毕。所以暂时不考虑这种方式。 2.implicitly_wait(); 它和sleep的区别就是sleep()是固定的,而implicitly_wait()是灵活的。 隐形等待是设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间截止,然后执行下一步。 """ from selenium import原创 2020-12-17 13:41:50 · 1955 阅读 · 1 评论 -
Python之学习Selenium(二):API和常用操作
API和常用操作基本操作一、声明浏览器对象(需要安装相应浏览器的驱动)二、查找元素三、元素交互操作四、获取元素信息(属性,文本,位置,大小等)五、对Frame框架的处理六、等待操作相关API1.前进后退2.Cookies3.选项卡操作4.异常处理 基本操作 Selenium中文文档 一、声明浏览器对象(需要安装相应浏览器的驱动) from selenium import webdriver browser = webdriver.Chrome() browser = webdriver.Firefox()原创 2020-11-02 19:54:30 · 774 阅读 · 0 评论 -
Python之学习Selenium(一):Selenium介绍
Selenium介绍Selenium常用作自动化处理和网络爬虫。自动化测试什么是Selenium?webdriver使用配置各浏览器Driver下载地址网络爬虫 Selenium常用作自动化处理和网络爬虫。 自动化测试 自动化测试可以涉及和试用的范围主要在以下方面: 基于Web UI的浏览器应用的界面测试 基于WebService或者WebAPI的服务契约测试 基于WCF、.net remoting、Spring等框架的服务的集成测试 基于APP UI的移动应用界面测试 基于Java、C#等编程文件进行的原创 2020-11-02 19:36:27 · 145 阅读 · 0 评论