我是靠谱客的博主 仁爱玉米,最近开发中收集的这篇文章主要介绍WSL中使用selenium+Chromedriver,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 前言

随着微软引入LINUX子系统后,Windows图形界面+WSL后台服务,在未来有很大可能引领开发的一股新潮流。LINUX 在安装后台服务时凭借APT,YUM等工具有着天然的优势,但是WSL毕竟只是Windows下的一个子系统,相比与完整的LINUX还是存在一定的阉割。

2. 开发环境

WSL:Ubuntu 18.04
桌面环境 :Xfce4 + vnc4viewer

2.起因

因为 selenium+chromedriver 时需要用到chrome浏览器,但是在安装了谷歌官方的 google-chrome deb包后,在命令行运行会出现一大堆错误。

3.解决

使用 puppeteer 提供的 Chrome
链接:https://npm.taobao.org/mirrors/chromium-browser-snapshots/

将解压后的文件夹存放在copy到LINUX中,本人将其存放在/usr/bin下。

将与之对应的 chromedriver 也存放在 /usr/bin 下 (chromedriver 可在淘宝镜像中下载)

# 打开终端测试 chromedriver
$ chromedriver --version


输出版本信息则无误,至此准备工作就全部完成

4.测试

此时,启动 Chrome 图形界面还是会出现一大堆错误,但是只启动headless模式,并且有足够的参数,就没有问题啦,

from selenium import webdriver
# 导入选项包
from selenium.webdriver.chrome.options import Options
chrome_options=Options()
# 必选参数
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--no-gpu')
chrome_options.add_argument('--disable-setuid-sandbox')
chrome_options.add_argument('--single-process')
chrome_options.add_argument('--window-size=1920,1080')

# chrome所在目录 
chrome_options.binary_location = "/usr/bin/chrome-linux/chrome"

browser = webdriver.Chrome(options=chrome_options)
browser.get('https://baidu.com/')
browser.save_screenshot("no_windows.png")
print(browser.page_source)

在运行后如果不报错,并在当前路径下出现 no_windows.png 就成功了。

最后

以上就是仁爱玉米为你收集整理的WSL中使用selenium+Chromedriver的全部内容,希望文章能够帮你解决WSL中使用selenium+Chromedriver所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部