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的设置方法与此类似,仅此与大家做一下分享

猜你喜欢

转载自blog.csdn.net/qq_39377418/article/details/88933395