去掉chromedriver的黑窗口和浏览器窗口

2019-03-20 15:45:21 / 打印

在编写爬虫程序中,免不了要用到selenium模块,调用chromedriver来打开网页,但是启动chromedriver时,总会打开一个CMD命令提示符的黑窗口,实在是讨厌。

如果想不要这个窗口出现,我们就要修改selenium模块的service.py源程序:

位置在python的安装文件夹D:\Python36\Lib\site-packages\selenium\webdriver\common

打开service.py,找到第76行:

把原来的stdin=PIPE) 改成

保存即可,以后调用chromedriver就不会出现黑窗口了。

如果想连浏览器窗口都不打开就爬取内容呢?可以参考下面的代码:

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

chrome_options = Options()

chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错

chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率

chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug

chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面

chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度

chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败

chrome_options.binary_location = r"C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe" #手动指定使用的浏览器位置

driver=webdriver.Chrome(chrome_options=chrome_options)

print('百度一下' in driver.page_source)

driver.close() #切记关闭浏览器,回收资源