selenium关于linux的部署
摘要:记录一下selenium+Chrome在linux服务器上的部署
最近尝试着在linux服务器上部署爬虫,一波三折。具体步骤如下:
安装步骤
下载Chrome浏览器
wget -O google.deb "http://170.210.201.179/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_70.0.3538.110-1_amd64.deb"
安装Chrome浏览器
dpkg -i google.deb
# 如果出现依赖错误,就使用 apt-get -f -y install 修复一下依赖,然后使用dpkg -i google.deb重新安装
安装selenium
pip3 install selenium
安装chromedriver
chromedriver的下载地址 https://npm.taobao.org/mirrors/chromedriver/71.0.3578.80/,下载chromedriver_linux64.zip这个文件。
解压之后将chromedriver复制到/usr/bin这个目录下,相当于windows设置环境变量
cp /root/chromedriver_linux64/chromedriver /usr/bin/chromedriver
chmod 755 /usr/bin/chromedriver
使用
下面是一个使用例子:
# coding:utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = webdriver.ChromeOptions()
# 开启无界面模式
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--profile-directory=Default')
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-plugins-discovery")
chrome_options.add_argument("--start-maximized")
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
chrome_options.add_experimental_option('useAutomationExtension', False)
chrome_options.add_argument('disable-infobars')
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=chrome_options)
# executable_path用于设定chromedriver的路径
# driver = webdriver.Chrome(executable_path="/root/chromedriver_linux64/chromedriver", options=options)
driver.get("https://www.baidu.com")
# 如果不加set_window_size使用selenium过程中会出现很多奇奇怪怪的问题
driver.set_window_size(1920, 1080)
driver.get_screenshot_as_file("linux部署测试1.png")
f = open("linux部署测试1.html", "w", encoding="utf-8")
content = driver.page_source
f.write(content)
f.close()
driver.quit()
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。