无头firefox,windows Linux 两相宜

本文介绍如何在无GUI的Linux环境中使用Python的Selenium库配合无头模式下的Firefox浏览器实现网页自动化操作,包括安装配置及简单示例。

 

 

 

今天突然需要使用selenium控制一个html页面,来进行登录操作,这个问题难住了偶。。。。

先说下我的测试环境吧: 开发环境windows+python, 执行环境Linux+python,且无GUI。

 

之前也使用过webdriver,但是都是在window环境下,如何在不使用GUI的情况下工作呢?   一番度娘之后,答案是使用无头浏览器。

 


浏览器

Firefox和chrome都支持无头模式,而且都支持windows linux 和 mac平台。

但是我选择Firefox作为我的测试浏览器,因为centos6.8上自带firefox(我试过chrome了,在centos6.8上安装各种掉坑。。。)

自带的firefox版本是52.9太老了,我要更新下它。

首先, rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm

然后, yum update firefox, 将其更新到firefox-60.6.0


安装驱动程序

geckodriver是以gecko为核心的浏览器的驱动。 其实它是一个webdriver client与基于gecko的浏览器之间交互的代理。

可以从这里下载到需要的版本:

https://github.com/mozilla/geckodriver

geckodriver的版本要和firefox的版本匹配,能与firefox-60.6.0配合的geckodriver的版本是0.24,参考https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html

Linux下,放到一个目录下例如 /usr/bin下,同时为其添加可执行属性。无论是windows还是linux,最好把驱动放到搜索路径下,这样可以不用指定它的路径了。


安装python的selenim包

这个比较简单,直接pip安装即可, pip install selenium,安装的selenium版本是3.141.0

 


 

写个简单的例子

from selenium import webdriver

options = webdriver.FirefoxOptions()
options.add_argument('-headless')

browser = webdriver.Firefox(executable_path="/usr/bin/geckodriver",options=options)

browser.get("http://www.baidu.com")
print browser.page_source

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值