Selenium操作Firefox无界面浏览器

之前做爬虫的时候经常需要selenium模拟,我经常用的是Firefox和Chrome浏览器,但是在使用的时候总是会打开浏览器才能正常抓取数据,无奈之下下载了PhantomJS,但是呢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 '

然后就百度了一些教程,发现不管是Firefox还是Chrome浏览器,都是可以通过自定义实现无界面抓取的,其方法就是在启动浏览器的是后添加参数,告诉他,你是无头的,不用显示出来了。例程如下:

from selenium.webdriver.firefox.options import Options

from selenium import webdriver


url = 'https://www.baidu.com'


# 设置chrome为无界面浏览器

options = Options()

options.add_argument('--headless')


# 打开浏览器

browser = webdriver.Firefox(options=options)


# 利用get请求请求浏览器的一个网页

browser.get(url=url)


# 打印输出这个网页的源代码

print(browser.page_source)


# 关闭浏览器

browser.close()


# 杀死chrome浏览器的连接桥(chromedriver)的进程

browser.quit()

这样就完成了设置要启动的模拟器为无界面的了,chrome的设置方法与此类似,仅此与大家做一下分享

下一篇: