Selenium环境搭建

selenium,环境,搭建 · 浏览次数 : 225

小编点评

版本不匹配python代码 from selenium import webdriver ​ driver = webdriver.Chrome()核心报错  selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home翻译:这个可执行程序需要在PATH中检查在cmd下输入chromedriver你应该得到的是如下 C:\\Users\\songqin008\\gt\\chromedriver\\chromedriver.exe 'chromedriver' 不是内部或外部命令,也不是可运行的程序 或批处理文件。你要确认你存放的是chromedriver.exe它在当前你系统的PATH的任一目录下你重开了cmd 其他错误can not connect to the service chromedriver 6. 关于mac基础上的同学配置这部分不是问题对基础薄弱的同学要关注几点下载的驱动注意是mac还是mac64的,错的话会提示cpu type不匹配的问题mac下的驱动不是exe格式,解压后是chromedriver这样的名字PATH的配置尤为重要,不要轻易参考网上的,跟你的系统可能未必匹配,你首先要确认你的profile文件名 1. ~/.bash_profile   # 如果是bash  2. ~/.zshrc  # 如果是zsh 证明简单 1. 在1个文件的末尾加一句话echo hello  2. 保存退出,重开终端,不要做任何的命令,如果没有输出hello说明系统不会读取该文件 3. 如果没有输出,就换另外一个文件 4. 直到看到输出hello,说明读取的是这个文件,那就把PATH配置到文件中即可 配置PATH的时候记得务必携带之前的PATH 例如,你下载了allure,解压开一个bin # 如果目录是 /usr/local/allure-2.14.0/bin export PATH=$PATH:/usr/local/allure-2.14.0/bin # 虽然放前面和后面是类似的,但前面的话会先检索(如果存在同名应用,那你新加的不会被用到)&       。归纳总结以上内容,生成内容时需要带简单的排版

正文

Selenium环境搭建

基于windows 10

素材

素材下载地址说明
python https://registry.npmmirror.com/binary.html?path=python/ 官网
  https://mirrors.huaweicloud.com/python/ 国内地址
  https://www.python.org/downloads/  
pycharm https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows&code=PCC 社区版
chrome https://www.google.cn/intl/zh-CN/chrome/ 中文官网
firefox http://www.firefox.com.cn/ 中文官网
chromedriver https://registry.npmmirror.com/binary.html?path=chromedriver 淘宝镜像
  https://chromedriver.chromium.org/downloads 官网
geckodriver https://registry.npmmirror.com/binary.html?path=geckodriver/ 淘宝镜像
  https://github.com/mozilla/geckodriver/releases 官网

1. python+pycharm

  • python要求是3.7+不然会装不上selenium4+版本

  • pycharm一般就用最新或次新年度的即可

python步骤扼要

  • 选择customize installation,否则安装到系统默认目录(非常深,不便于日常操作)

 

 

 

  • 修改安装目录,确认勾选Add Python to enviroment variables

 

 

  • 注意这样安装的话,如果你系统中有多个python,那它默认是第一个的,你可以根据自己的需要调整或者修改

 C:\Users\wuxianfeng>where python
 C:\Python311-32\python.exe  # 这是刚安装的
 C:\Python38\python.exe    # 这是以前安装的
  • 如果你要同时使用多个环境,那可以复制python.exe一个副本,然后改为自己熟悉的名字

 

 

  • 效果如下

 C:\Users\wuxianfeng>python311
 Python 3.11.0 (main, Oct 24 2022, 18:13:38) [MSC v.1933 32 bit (Intel)] on win32
 Type "help", "copyright", "credits" or "license" for more information.
 >>> exit()
 
 C:\Users\wuxianfeng>python38
 Python 3.8.4 (tags/v3.8.4:dfa645a, Jul 13 2020, 16:30:28) [MSC v.1926 32 bit (Intel)] on win32
 Type "help", "copyright", "credits" or "license" for more information.
 >>>
 

 

2. 浏览器

注意: 务必到官网下载最新版本,安装过程不赘述

  • 您机器上如果有乱七八糟的其他浏览器可能会影响(很多内核是一样的)

  • 安装非官方渠道的浏览器可能会导致无法识别、启动

版本确认

  • 在chrome的地址栏输入chrome://version/,找到第一行,示例如下:

     Google Chrome   107.0.5304.107 (正式版本) (64 位) (cohort: Stable) 
  • 在firefox的地址栏输入about:support,找到版本信息,示例如下

     版本  106.0.1

 

3. 驱动下载

  • 驱动的下载跟你浏览器的版本息息相关

Chrome驱动

  • 你会发现你的版本号与上面的目录无法完全匹配,找最新的那个(如上面62)一般都OK,因为这2个版本都是支持107大版本的,62是后面更新的,会修复一些bug什么的。

  • 点击进去

     

     

  • 注意windows下只有32的,没有64的,你的机器一般是64的,放心用32的即可(兼容的)

  • 下载的是zip,解压得到exe,再配置驱动即可。

 但要注意截止到114这个版本往后,在npm位置最新的就114,115+的需要去官网

你可以参考我这个文章 https://www.cnblogs.com/wuxianfeng023/p/17650789.html

 

geckodriver驱动

  • 根据你的firefox的版本,如106.0.1(一般是当前最新的),这个版本号跟驱动的版本号没有直接的关联关系

  • 那你在https://registry.npmmirror.com/binary.html?path=geckodriver/ 地址中找到当前最新发布的驱动即可,你需要注意的是最新的版本由于名字的排序问题,并不是最上面或者最下面,它往往是在中间的,你要结合右侧的时间来确定。

 

 

  • 点击进去后对应的是各个系统平台下的安装包,根据自己的操作系统选择即可,你是windows要注意是32还是64的(现在32的几乎没有了)

 

 

 


  • 如果你的firefox并不是最新的,你下载最新的geckodriver驱动一般也会有问题,如果要找到比较匹配的版本,那你要去官网:https://github.com/mozilla/geckodriver/releases,查看对应release的版本支持说明方可。

  • 比如0.32.0的release中就有这么一段描述,说明它支持firefox版本106

 

 

 

4. 配置驱动

配置

  • 核心的一句话就是把exe放到PATH的任一目录下,推荐是跟你当前python.exe所在的目录放一起。

  • 这意味着,比如我的PATH当前是这样的

     

     

  • 你只要把chromedriver.exe或者geckodriver.exe放其中任一一个目录下即可,甚至你可以自己新建一个目录,把它放进去即可。

  • 但是推荐你放到python的主目录下,比如我是下面3个

     C:\Users\songqin008>where python
     D:\Python39\python.exe
     C:\Python310\python.exe
     D:\Python37\python.exe

     

     

验证

  • 放好你的驱动

  • 重新打开cmd

  • 输入命令chromedriver或者geckodriver应该能得到类似如下的提示,就表示你现在配置ok了

     C:\Users\songqin008>chromedriver
     Starting ChromeDriver 107.0.5304.62 (1eec40d3a5764881c92085aaee66d25075c159aa-refs/branch-heads/5304@{#942}) on port 9515
     Only local connections are allowed.
     Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
     ChromeDriver was started successfully.
     ^C  # 按ctrl+c 中断
     C:\Users\songqin008>geckodriver
     1669260642344   geckodriver     INFO   Listening on 127.0.0.1:4444
     ^C # 按ctrl+c 中断

     

5. FAQ

Python版本和Selenium版本要求

  • python>=3.7,推荐3.8或3.9

  • Selenium>=4.3,推荐4.3,已知4.6有点小问题。

 

 

版本不匹配

  • python代码

     from selenium import webdriver
     driver = webdriver.Chrome()
  • 核心报错信息

     selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 91
     Current browser version is 107.0.5304.107 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
  • 翻译: 会话没有创建: 你这个版本的chromedriver只支持chrome浏览器版本91,当前浏览器版本是....(且告诉了你chrome应用程序的位置)

  • 检查

    • 浏览器版本:在浏览器地址栏输入chrome://version

    • 确认你驱动的版本: 在cmd下输入chromedirver能得到当前驱动的版本

       D:\Python39>chromedriver
       Starting ChromeDriver 107.0.5304.62 (1eec40d3a5764881c92085aaee66d25075c159aa-refs/branch-heads/5304@{#942}) on port 9515
       Only local connections are allowed.
       Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
       ChromeDriver was started successfully.
    • 两者大版本必须一致

 

驱动没找到

  • python代码

     from selenium import webdriver
     
     driver = webdriver.Chrome()
  • 核心报错

     selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home
  • 翻译:这个可执行程序需要在PATH中

  • 检查

    • 在cmd下输入chromedriver你应该得到的是如下

       C:\Users\songqin008>chromedriver
       'chromedriver' 不是内部或外部命令,也不是可运行的程序
       或批处理文件。
    • 你要确认你存放的是chromedriver.exe

    • 它在当前你系统的PATH的任一目录下

    • 你重开了cmd

 

其他错误

 

6. 关于mac

  • 基础好的同学配置这部分不是问题

  • 对基础薄弱的同学要关注几点

    1. 下载的驱动注意是mac还是mac64的,错的话会提示cpu type不匹配的问题

    2. mac下的驱动不是exe格式,解压后是chromedriver这样的名字

    3. PATH的配置尤为重要,不要轻易参考网上的,跟你的系统可能未必匹配,你首先要确认你的profile文件名

       可能是 
        1. ~/.bash_profile   # 如果是bash
        2. ~/.zshrc  # 如果是zsh
       证明很简单
        1. 在1个文件的末尾加一句话echo hello
        2. 保存退出,重开终端,不要做任何的命令,如果没有输出hello说明系统不会读取该文件
        3. 如果没有输出,就换另外一个文件
        4. 直到看到输出hello,说明读取的就是这个文件,那就把PATH配置到文件中即可
       
    4. 配置PATH的时候记得务必携带之前的PATH

       # 一般你应该这么写
       export PATH=$PATH:你要加的新的应用的bin目录
       
       # 例如,你下载了allure,解压开一个bin
       # 如果目录是 /usr/local/allure-2.14.0/bin
       export PATH=$PATH:/usr/local/allure-2.14.0/bin
       # 虽然放前面和后面是类似的,但前面的话会先检索(如果存在同名应用,那你新加的不会被用到)

       

 

 

 

 

 

与Selenium环境搭建相似的内容:

Selenium环境搭建

Selenium环境搭建 基于windows 10 素材 素材下载地址说明 python https://registry.npmmirror.com/binary.html?path=python/ 官网 https://mirrors.huaweicloud.com/python/ 国内地址 h

SpringBoot+Selenium模拟用户操作浏览器

Selenium Selenium是一个用于Web应用程序自动化测试的开源工具套件。它主要用于以下目的: 浏览器自动化:Selenium能够模拟真实用户在不同浏览器(如Chrome、Firefox、IE/Edge等)中的交互行为,通过编程方式控制浏览器执行一系列操作,例如点击按钮、填写表单、导航页面

比Selenium更优秀的playwright介绍与未来展望

Playwright是新兴的自动化测试工具,拥有丰富的功能和API,隐藏在众多的爬虫和自动化工具背后,而多模LLM的出现让Playwright可以如虎添翼,自动化智能化的RPA工具预计将会井喷般出现。

selenium Webdriver版本和浏览器版本不匹配问题:ChromeDriver only supports Chrome version 119 Current browser version is 124.0.6367.202

问题描述 代码如下: from selenium import webdriver from selenium.webdriver.common.by import By def test01(): driver = webdriver.Chrome() driver.get("https://ww

Selenium+2Captcha 自动化+验证码识别实战

> 本文深入探讨了使用Selenium库进行网页自动化操作,并结合2Captcha服务实现ReCAPTCHA验证码的破解。内容涵盖Selenium的基础知识、验证码的分类、2Captcha服务的使用,以及通过实例进行的详细讲解,最后对实践进行总结和优化思考,为读者提供了一条完整的验证码破解实践路线图

selenium库浅析

selenium库浅析 基于4.3 pip install selenium安装好后,在sitepackages下 2个主要的目录,common和webdriver 1- common 该目录一共就一个模块exceptions.py ① exceptions.py 其中定义了32个异常,竟然有个同学

Selenium中对于颜色的处理及拓展

Selenium中对于颜色的处理及拓展 获取百度一下按钮的背景色 from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.get('https://www.baidu.com')

Selenium中免登录的实现方法一option

Selenium中免登录的实现方法一option 在selenium中有很多种可以实现网站的免登录,option就是其中的一种做法。 学员在VIP自动化课程中多有涉及。 1. 准备工作 打开一个网站(此处以https://www.processon.com/为例) 手工登录 关闭 重开该网站发现已经

Selenium中的option用法实例

Selenium中的option用法实例 在上一篇文章Selenium中免登录的实现方法一option中我们用到了option,而option的用法是很多的,本文举几个例子 关于无头浏览器,也属于option的一种,但我们单独开个篇幅讲一下 看完你会发现多数是参数形式的,那chrome作为这么一个大

selenium结合tenacity的retry实现验证码失败重试

说在前面 验证码登录的demo后续可以单独讲解,VIP学员对这部分应该都是掌握的,此处不再赘述 本文假设了一个场景 你通过OCR识别的验证码是有一定的错误几率的 本文是通过识别后的验证码去加一个随机字符,如果取到的是''空字符则可能成功,否则必然不会成功 所涉及的python库 selenium d