环境: win10 +

想要Python通过selenium操作浏览器搞些事情,就必须有两个前提条件:

  1. 下载selenium模块
  2. 安装selenium的浏览器驱动 webdriver

selenium模块下载

pip install selenium
pip install -i https://pypi.doubanio.com/simple/ selenium
pip install -i https://pypi.doubanio.com/simple/ selenium==3.141.0

浏览器驱下载
浏览器驱动的安装时新手阶段遇到较多问题之一,因为可选择的浏览器较多,我们先来聊聊各种场景的浏览器:

  • 网页浏览器,也就是我们现在经常用到的浏览器,打开浏览器有个可视化的界面供我们操作,常见的有:
    • Google
    • Firefox
    • Safari
    • IE/edge
    • Opera
  • 无头浏览器(Headless Browser),无头,这里是说无界面的,这种浏览器的运行是不可见的,selenium中常用的无头浏览器有:
    • PhantomJS无头浏览器
    • Google无头浏览器
    • Firefox无头浏览器

关于无头浏览器:无头浏览器指的是没有图形用户界面的浏览器。无头浏览器在类似于流行网络浏览器的环境中提供对网页的自动控制,但是通过命令行界面或使用网络通信来执行。 它们对于测试网页特别有用,因为它们能够像浏览器一样呈现和理解超文本标记语言,包括页面布局、颜色、字体选择以及JavaScript和AJAX的执行等样式元素,这些元素在使用其他测试方法时通常是不可用的。
无头浏览器常用于:

  • Web应用程序中的测试自动化。
  • 拍摄网页截图
  • 对JavaScript库运行自动化测试
  • 收集网站数据
  • 自动化网页交互

使用无头浏览器的优势:

  • 对于UI自动化测试,少了真实浏览器加载css,js以及渲染页面的工作。无头测试要比真实浏览器快的多。
  • 可以在无界面的服务器或CI上运行测试,减少了外界的干扰,使自动化测试更稳定。
  • 在一台机器上可以模拟运行多个无头浏览器,方便进行并发测试。

关于PhantomJS无头浏览器:PhantomJS是一个可以用JavaScript编写脚本的无头web浏览器。它在Windows、macOS、Linux和FreeBSD上运行。使用QtWebKit作为后端,它为各种web标准提供了快速的本地支持:DOM处理、CSS选择器、JSON、Canvas和SVG。
另外,说一个比较悲痛的消息:PhantomJS暂停维护(可能的原因是内部问题和外部压力(Google和Firefox无头带来的压力)),所以,我们现在使用PhantomJS的话,你会看到提示:

UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
  warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

闲话少叙,先来看具体怎么安装和使用!

回到顶部

相关文章: