Selenium之运行效果展示

接下来主要学习selenium自动化测试框架在爬虫中的应用,selenium能够大幅降低爬虫的编写难度,但是也同样会大幅降低爬虫的爬取速度。(selenium可用于爬虫和测试)

在逼不得已的情况下我们可以使用selenium进行爬虫的编写。(一般不会用,会用request)

1. selenium运行效果展示

Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接调用浏览器,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏等。我们可以使用selenium很容易完成之前编写的爬虫,接下来就来看一下selenium的运行效果

1.1 chrome浏览器的运行效果(下一个文章中会写安装的过程)

在下载好chromedriver以及安装好selenium模块后,执行下列代码并观察运行的过程

代码展示:

from selenium import webdriver# 如果driver没有添加到了环境变量,则需要将driver的绝对路径赋值给executable_path参数
# driver = webdriver.Chrome(executable_path='/home/worker/Desktop/driver/chromedriver')# 如果driver添加了环境变量则不需要设置executable_path
driver = webdriver.Chrome()# 向一个url发起请求
driver.get("http://www.baidu.com/")# 把网页保存为图片,69版本以上的谷歌浏览器将无法使用截图功能
# driver.save_screenshot("baidu.png")print(driver.title) # 打印页面的标题# 退出模拟浏览器
driver.quit() # 一定要退出!不退出会有残留进程!

运行结果:

百度一下,你就知道

1.2 phantomjs无界面浏览器的运行效果

PhantomJS 是一个基于Webkit的“无界面”(headless)浏览器,它会把网站加载到内存并执行页面上的 JavaScript。下载地址:http://phantomjs.org/download.html      (直接选择版本下载)

代码展示:

from selenium import webdriver# 指定driver的绝对路径
driver = webdriver.PhantomJS(executable_path='自己存放的路径')
# driver = webdriver.Chrome(executable_path='/home/worker/Desktop/driver/chromedriver')# 向一个url发起请求
driver.get("http://www.baidu.cn/")# 把网页保存为图片
driver.save_screenshot("baidu.png")# 退出模拟浏览器
driver.quit() # 一定要退出!不退出会有残留进程!

1.3 观察运行效果

  • python代码能够自动的调用谷歌浏览或phantomjs无界面浏览器,控制其自动访问网站

1.4 无头浏览器与有头浏览器的使用场景  (开发用有头浏览器;部署用无头浏览器)

  • 通常在开发过程中我们需要查看运行过程中的各种情况所以通常使用有头浏览器
  • 在项目完成进行部署的时候,通常平台采用的系统都是服务器版的操作系统,服务器版的操作系统必须使用无头浏览器才能正常运行

Selenium之运行效果展示相关推荐

  1. 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 效果展示 | 源码资源 )

    文章目录 一. 使用前台 Service 提高应用进程优先级 1. 前台 Service 代码 2. 前台 Service 代码 3. 启动服务 二.效果展示 三.源码资源 一. 使用前台 Servi ...

  2. 【Python】监控视频中运动目标检测的代码实现及效果展示

    0.介绍 基于python,使用opencv库函数,实现监控视频中的运动目标检测,Mark一下! 干扰性和灵敏度的权衡,可通过调节代码中的参数(高斯模糊核.面积阈值.帧差间隔等)进行设置. 1.代码 ...

  3. 【算法】跑ORB-SLAM遇到的问题、解决方法、效果展示(环境:Ubuntu18.04+ROS melodic)

    文章目录 一.cmake编译ORB-SLAM库报错 1.问题:cmake 后出现rosdep错误 rosdep init / rosdep update问题 2.问题:cmake 后出现opencv2 ...

  4. 【27】grad-cam的简单逻辑实现以及效果展示

    如有错误,恳请指出. 文章目录 1. grad-cam的简单实现 2. grad-cam的效果展示 3. Debug 1. grad-cam的简单实现 grad-cam通过对类别c最后的预测值yc进行 ...

  5. C#设计一个简单的计算器,实现两个数的加,减,乘,除,求幂等计算,运行效果如下图所示:

    1.题目要求如下: C#设计一个简单的计算器,实现两个数的加,减,乘,除,求幂等计算,运行效果如下图所示: 2.这边需要用到的是VS2019下的C#Windows窗体 3.来吧,展示: using S ...

  6. 自动化缺陷检测系统03---算法与最终实现效果展示

    作者介绍 1. 算法模型图(目前论文和专利未公开,保密待补充) 2. 界面效果展示 2.1 封面界面 2.2 主界面 2.3 检测过程的界面 3 总结 4.后续可优化的部分 作者介绍 张伟伟,男,西安 ...

  7. 【餐厅点餐平台|四】UI设计+效果展示

    餐厅点餐平台导航 [餐厅点餐平台|一]项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 [餐厅点餐平台 ...

  8. 实现用户在线答题的功能,要求如下,运行效果如下图所示: 1. 全部为单项选择题; 2. 每个题目由1个题面和4个选项组成; 3. 用户点击开始按键后,开始答题和计时; 4. 答题时,用

    题目信息 实现用户在线答题的功能,要求如下,运行效果如下图所示: 1. 全部为单项选择题: 2. 每个题目由1个题面和4个选项组成: 3. 用户点击开始按键后,开始答题和计时: 4. 答题时,用户做出 ...

  9. 3D视觉——3.人体姿态估计(Pose Estimation) 算法对比 即 效果展示——MediaPipe与OpenPose

    上一话 3D视觉--2.人体姿态估计(Pose Estimation)入门--OpenPose含安装.编译.使用(单帧.实时视频)https://blog.csdn.net/XiaoyYidiaodi ...

最新文章

  1. 匹夫细说C#:委托的简化语法,聊聊匿名方法和闭包
  2. hdu 5505(GT and numbers)
  3. HTML的base href = “” /
  4. Intel深度摄像头RealSense D345(实感双目摄像头)和目标检测结合使用
  5. 在.net中如何禁用或启用DropDownList的Items
  6. 详解虚函数的实现过程之虚基类(4)
  7. Python爬虫基础:简单的爬虫入门示例(urllib库)
  8. 简单的openssh自动升级脚本
  9. 定时任务框架APScheduler学习详解
  10. bzoj4152 The Captain (dijkstra)
  11. .Net Core 商城微服务项目系列(十二):使用k8s部署商城服务
  12. macos可以升级到指定版本吗_承装承修承试可以跨级升级吗?
  13. 信息学奥赛一本通 1130:找第一个只出现一次的字符 | OpenJudge NOI 1.7 02
  14. HandleExternalEventActivity
  15. POJ 3090 (欧拉函数) Visible Lattice Points
  16. 用c语言的输入,用C语言输入的“%p”是什么意思?
  17. ASP.NET 页面传值方法的一些事情儿。
  18. windows下批量更改文件名
  19. python求均值函数_python求列表平均值函数
  20. Surface Go1 与Surface Go2的不同 (非专业对比)

热门文章

  1. AAAI 2020论文解读:商汤科技提出新弱监督目标检测框架
  2. 支付宝账单出来后,除了总消费,你看到你的学习支出了吗?
  3. 「2019中国大数据技术大会」超值学生票来啦!
  4. 媲美Pandas?一文入门Python的Datatable操作
  5. 京东金融App收集用户敏感信息?致歉来了
  6. “围剿”杀人机器人,周志华、Hinton等57位学界大牛出手了
  7. 「数据科学家」必备的10种机器学习算法
  8. 干货 | 如何使用 CNN 推理机在 IoT 设备上实现深度学习
  9. ELK 处理 Spring Boot 日志,妙!
  10. PageHelper 在 Spring Boot + MyBatis 中合理且规范的使用方法