Selenium安装配置FireFox浏览器

  • 前置需求:
  • 1. 下载安装FireFox浏览器和Geckodriver
    • 1.1 Windows下载
    • 1.2 Linux下载
  • 2. 使用Selenium调用FireFox浏览器
    • 2.1 创建webdriver的FireFox对象
    • 2.2 爬取网页url
    • 2.3 完整代码
  • 参考文献

前置需求:

  • Selenium介绍和Selenium WebDriver安装

1. 下载安装FireFox浏览器和Geckodriver

如果本地已经有FireFox此步骤可以省略
注意:Geckodriver是必下载项,如果项目中没有geckodriver会提示 no geckodriver

1.1 Windows下载

  • 1.1.1 进入FireFox官网直接下载最新版本FireFox

    • FireFox官网
  • 1.1.2 直接运行安装包安装浏览器即可
  • 1.1.3 FireFox的默认安装路径在C盘的programs file/Mozilla FireFox文件夹中,复制路径,后面会用到
  • 1.1.4 查看FireFox版本并下载对应版本的geckodriver
    • github geckodriver

1.2 Linux下载

Linux的FireFox直接是可执行二进制文件,所以可以直接在服务器上解压运行。

  • 1.2.1 Linux直接通过指令下载(这里下载的是FireFox 73.0.1如果想要下载最新版本,可以去官网自行下载FireFox官网)
wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/73.0.1/linux-x86_64/zh-CN/firefox-73.0.1.tar.bz2
  • 1.2.2 下载后解压即可使用
mkdir ~/FireFox
!tar -xjvf firefox-73.0.1.tar.bz2 -C ~/FireFox
  • 下载对应的geckodriver版本。(firefox版本为73对应geckodriver版本为0.26)
wget https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz

如果是自行下载的firefox版本,请自行到GitHub中查找对应的geckodriver下载
- github geckodriver

  • 解压geckodriver到项目的根目录,即调用selenium的python文件的同级目录。
tar -zxvf /geckodriver-v0.26.0-linux64.tar.gz -C [你的路径]

2. 使用Selenium调用FireFox浏览器

2.1 创建webdriver的FireFox对象

  • 如果没装selenium请先安装
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 导入selenium模块
from selenium import webdriver
from selenium.common import exceptions # selenium异常模块
  • 设置无页面启动浏览器
    如果想要显示firefox页面,这两句可以注释掉
# selenium对firefox的支持组件操作由webdriver中的FirefoxOptions实现
# 如果时Chrome浏览器则使用webdriver.ChromeOptions()
# edge没有option!!
options = webdriver.FirefoxOptions()
options.add_argument('--headless')
  • 创建webdriver的firefox对象
    executable_path和firefox_binary都必须是绝对路径!!!
browser_driver = webdriver.Firefox(executable_path=r"geckodriver执行文件的绝对路径",  # 这里必须要是绝对路径# windows是.exe文件 xxx/xxx/geckodriver.exe, xxx/xxx/firefox.exe# linux直接是xxx/xxx/geckodriver, xxx/xxx/firefoxfirefox_binary=r"firefox执行文件的绝对路径",options=options)

这里通过阅读Firfox源代码可以看出,如果将geckodriver放在项目根目录中,则可以不用填写executable_path,并且在执行webdriver的时候selenium会自动在项目更目录中创建geckodriver.log,如果是已经将firefox写入系统环境变量的话firefox_binary可以不用填写


2.2 爬取网页url

  • 调用get方法,返回html页面内容
url = r'https://www.baidu.com/
browser_driver.get(url)
print ('当前爬取的网页url为:{0}'.format(browser_driver.current_url))
print ('当前爬取网页内容为:\n {0}'.format(browser_driver.page_source))
  • 千万记得一定要退出!!!
browser_driver.quit()

2.3 完整代码

from selenium import webdriver
from selenium.common import exceptions # selenium异常模块
def browser_crawler(url):options = webdriver.FirefoxOptions()options.add_argument('--headless')browser_driver = webdriver.Firefox(executable_path=r"geckodriver执行文件的绝对路径",  # 这里必须要是绝对路径# windows是.exe文件 xxx/xxx/geckodriver.exe, xxx/xxx/firefox.exe# linux直接是xxx/xxx/geckodriver, xxx/xxx/firefoxfirefox_binary=r"firefox执行文件的绝对路径",options=options)try:url = r'https://www.baidu.com/browser_driver.get(url)print ('当前爬取的网页url为:{0}'.format(browser_driver.current_url))print ('当前爬取网页内容为:\n {0}'.format(browser_driver.page_source))finally:# 无论有没有异常,都会执行退出语句browser_driver.quit()
if __name__ == '__main__':url = r'https://www.baidu.com'browser_crawler(url)

参考文献

  • selenium 3.14 配置Firefox的路径
  • Python爬虫_selenium + Firefox的使用
  • Selenium WebDriver

Python爬虫——Selenium安装配置FireFox浏览器相关推荐

  1. Python用 selenium 模块控制Firefox浏览器

    Python用 selenium 模块控制Firefox浏览器 需要的东西: Firefox浏览器下载地址: http://getfirefox.com/ selenium包: https://pyp ...

  2. [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图

    前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能.         [Pyt ...

  3. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

    前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...

  4. [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

    前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...

  5. Python爬虫 Selenium实现自动登录163邮箱和Locating Elements介绍

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  6. Python爬虫 - Selenium(4)配置启动项参数

    前言:本章将详细介绍Selenium启动项参数的配置,其中包括无界面模式(在服务器上运行不设置此项会报错).浏览器窗口大小设置.浏览器User-Agent (请求头)等等. 目录 一.常用参数 二.代 ...

  7. selenium中启动firefox浏览器时设置代理、加载配置文件、加载某个插件以及firefox没有安装在默认路径下的代码写法

    selenium 中启动firefox浏览器的六种方式,所用的是java 1.如果浏览器没有安装在默认路径下,则用 System.setProperty("Webdriver.firefox ...

  8. 最全python爬虫库安装详解

    目录 一.请求库的安装 1.requests 的安装 2.Selenium的安装 3.ChromeDrive 的安装 4.GeckoDriver 的安装 5.PhantomJS 的安装 6.aioht ...

  9. Python 爬虫 Selenium 基本使用

    Python 爬虫 Selenium 基本使用 1. 基础知识 1.1 下载浏览器驱动 1.2 帮助文档 2. 浏览器操作 2.1 浏览器导航 2.2 窗口和选项卡 2.3 Frames and If ...

最新文章

  1. Exchenge2007用户设置邮件转发到外网地址
  2. 航天智慧物流!智能汽车竞赛—航天赛道开始报名啦!
  3. 查询三个月前的所有数据的sql语句
  4. UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: encoding error
  5. source insight(SI)C/C++符号标记含义
  6. ORACLE经常使用的命令
  7. javascript 中 split 函数分割字符串成数组
  8. 互联网账户系统如何设计
  9. js正则标志/g,/i,/m说明
  10. 具有固定名称mysql.data_SQLServer数据库之未找到具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架 解决方案...
  11. caffe学习日记--lesson8:站在巨人的肩膀上, denny的学习专栏——徐其华——caffe
  12. python具有可嵌入性_如何构建可嵌入Python
  13. 偏微分方程的数值解(一):定解问题 差分解法
  14. FAT文件系统几点释疑
  15. 如何做架构设计和评审
  16. 经典语录_生命的智慧
  17. windows10/11_远程桌面连接mstsc(局域网)/CLI获取当前主机名/用户名/修改windows主机名
  18. vue组件库大全(忘了的时候可以进来找一下~)
  19. CameraCaptureSession
  20. 前端实现lottie动画

热门文章

  1. 将指定文件压缩到指定位置
  2. Win10安装Ubuntu20.04LTS子系统
  3. 各浏览器对页面 onload 事件处理方式不一致
  4. Arduino驱动HC-05蓝牙模块
  5. c#下载图片到指定目录
  6. EFM32例程——LETIMER
  7. python获取当前时间日期(入门)
  8. 电脑开机蓝屏0x.00000024
  9. 【安全加密技术】非对称加密
  10. [LOJ#2983][WC2019]数树