WSL使用 selenium Chrome

WSL使用 selenium Chrome

从Ubuntu换到windows环境下还稍许不习惯,在此记录一下如何在WSL内安装chrome并正常运行selenium

1. 安装WSL(略过);

  • 自行安装,作者安装的是Ubuntu20.4;
  • 自行安装selenium,pip install selenium

2. 安装chrome:

  • 创建chrome源文件
    sudo vim /etc/apt/sources.list.d/google-chrome.list
    
  • 添加源:
    在第一步创建文件中添加
    deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
    
  • 下载Google的签名密钥&添加密钥环中(用于验证包完整性)
    wget https://dl.google.com/linux/linux_signing_key.pub
    sudo apt-key add linux_signing_key.pub
    
  • 安装Google chrome稳定版
    sudo apt update 
    sudo apt install google-chrome-stable
    
  • 查看版本
    goolgle-chrome --verison
    
    在这里插入图片描述

3. 安装chromedriver

  • 下载
    网站中寻找对应chrome对应版本的chromedriver,本文中对应版本为
    wget -c http://npm.taobao.org/mirrors/chromedriver/92.0.4515.43/chromedriver_linux64.zip
    
  • 安装
    将文件解压并放置指定位置,且赋权
    unzip chromedriver_linux64.zip
    mv chromedriver /usr/bin/
    chmod +x  /usr/bin/chromedriver
    

4. 运行测试

  • 因为我们在WSL中运行selenium chrome 使用无界面模式,所以要设置参数
    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') #浏览器不提供可视化页面
    
    #创建浏览器对象
    driver = webdriver.Chrome(options=chrome_options)
    
    OK! PERFECT! 瑞思拜!!!
### 配置 Selenium 使用本地 ChromeDriver 为了使 Selenium 能够调用本地的 ChromeDriver,在不同编程环境下需要遵循特定的方法来设置环境变量或直接指定驱动路径。 #### Python 环境下的配置方式 当在 WSL使用 SeleniumChromedriver 时,可以将 `chromedriver` 存放于 `/usr/bin` 下,并确认其权限允许执行[^1]。对于其他 Unix-like 或 Windows 系统,则应确保该文件位于系统的 PATH 环境变量中,或者通过代码显式指明路径: ```python from selenium import webdriver options = webdriver.ChromeOptions() driver_path = '/path/to/chromedriver' # 替换为实际路径 browser = webdriver.Chrome(executable_path=driver_path, options=options) ``` 如果已经把 `chromedriver` 放到了系统 PATH 中,那么可以直接实例化 WebDriver 对象而不需要提供具体的路径: ```python from selenium import webdriver browser = webdriver.Chrome(options=options) ``` #### Go 语言中的应用案例 针对 Golang 用户来说,同样要保证 ChromeDriver 的位置被正确识别。通常情况下会采用类似的方式加载 Chrome 浏览器实例,即先设定好 ChromeDriver 的绝对路径再初始化 WebDriver 实例[^2]。 #### Java 开发者的解决方案 Java 应用程序可以通过 Maven 来管理依赖项以及配置所需的库文件。除了上述提到的一般做法外,还可以利用 System.setProperty 方法动态设置 chrome driver 的路径[^5]: ```java System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); WebDriver driver = new ChromeDriver(); ``` 无论哪种开发平台,都建议事先验证所使用Chrome 版本与 ChromeDriver 是否匹配,因为两者之间的兼容性至关重要[^3]。此外,在某些操作系统上可能还需要额外的操作,比如调整文件夹权限或是更新 pip 源等操作以简化后续过程[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥特曼不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值