最近用到selenium来爬取动态加载的网页,需要在服务器上安装chromedriver,网上找了些文章,但发现大多数不得行,由此记录下安装历程,按照如下步骤安装,必成功!
(一)安装浏览器
1、curl https://intoli.com/install-google-chrome.sh | bash
2、ldd /opt/google/chrome/chrome | grep "not found”
3、google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.baidu.com
(二)安装chromedriver
1、yum install chromedriver.x86_64
(三)测试
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('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug
driver = webdriver.Chrome(chrome_options=chrome_options) #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
driver.get("https://www.baidu.com")
print(driver.page_source)
按步骤按顺序执行,打印出网页源码即成功