Selenium不同版本配置自动下载驱动及打包细节

这篇具有很好参考价值的文章主要介绍了Selenium不同版本配置自动下载驱动及打包细节。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


笔者从接触Python自动化开始就经常使用Selenium进行一些浏览器端界面自动化操作,随后发现不同Selenium版本的迭代更新后相同代码在不同版本无法实现自动化下载浏览器驱动(经查Selenium新版自动下载的浏览器驱动访问地址为谷歌地址,而国内网站不支持访问谷歌地址),故有此篇记录自动下载驱动的代码及selenium版本

自动下载浏览器驱动的方法 selenium4.7.0

# selenium版本为4.7.0
# 下载位置:C:\Users\Administrator\.wdm\drivers\chromedriver\

from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
driver.get("https://www.baidu.com")
driver.find_element(By.ID, "kw").send_keys("Selenium"+Keys.RETURN)
input("按回车键退出~")

自动下载浏览器驱动的方法 selenium4.11.0 或4.11.1

# selenium版本为4.11.0 或4.11.1
# 默认下载位置:C:\Users\Administrator\.cache\selenium\chromedriver

from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element(By.ID, "kw").send_keys("Selenium"+Keys.RETURN)
input("按回车键退出~")

手动设置浏览器驱动路径的方法

浏览器驱动下载地址:[浏览器驱动下载地址]:

from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
service = webdriver.ChromeService(executable_path="你的浏览器驱动的路径")
driver = webdriver.Chrome(service=service)
driver.get("https://www.baidu.com")
driver.find_element(By.ID, "kw").send_keys("Selenium"+Keys.RETURN)
input("按回车键退出~")

pyinstaller打包程序时同时打包ChromeDriver

在使用pyinstaller打包程序时,由于手动下载驱动的情况下并不会打包浏览器驱动,所以在打包后的程序复制到别处运行时还需要加上浏览器驱动一起拷贝,所以更建议打包时将手动下载的浏览器驱动一起打包至程序中,使用方法如下:

chromedriver路径需要sys._MEIPASS的路径进行引用

sys._MEIPASS为exe文件运行时生成的临时文件,程序运行结束后即可自动回收清理,不会占用存储

import os
from selenium import webdriver
import sys

if getattr(sys, 'frozen', False):
    print(sys._MEIPASS+ "./test/chromedriver.exe")
    application_path = sys._MEIPASS+ "你的chromedriver相对路径"
else:
    application_path = os.path.dirname(os.path.abspath(__file__)) + "你的chromedriver相对路径"
service = webdriver.ChromeService(executable_path=application_path)
driver = webdriver.Chrome(service=service)
driver.get("https://www.baidu.com")
print(driver.page_source)
input("输入。。。")

方法一:通过–add-data命令

selenium自动下载,Python,selenium,python,测试工具

注意:这里chromedriver.exe 末尾添加的.为当前目录,则该exe要放到test.py同一目录下

pyinstaller -F --add-data “./test/chromedriver.exe;./test” .\test.py

方法二:通过修改 .spec

spec文件需要在datas里设置chromedriver.exe的路径

注意datas是一个元组的列表,格式为 [(“源地址”, “目的地址”),(“源地址”, “目的地址”)…]

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['test.py'],
    pathex=[],
    binaries=[],
    datas=[('./test/chromedriver.exe','./test')],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    [],
    name='test',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)

随后在终端运行pyinstaller.exe ./test.spec即可自动编译(需注意: .spec是pyinstaller第一次编译后产生的文件,上述操作是对该文件修改后进行的再次编译,如果还没有.spec,可以先执行pyinstaller -F xxx.py 生成)文章来源地址https://www.toymoban.com/news/detail-846613.html

到了这里,关于Selenium不同版本配置自动下载驱动及打包细节的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 02_Selenium WebDriver各浏览器驱动下载路径、版本对照、相关配置

    http://npm.taobao.org/mirrors/chromedriver/ http://chromedriver.storage.googleapis.com/index.html (下面可下载截止到目前为止最新的驱动) https://www.nuget.org/packages/Selenium.WebDriver.ChromeDriver/115.0.5790.10200 https://googlechromelabs.github.io/chrome-for-testing/#stable 如果谷歌浏览器是70之后的版本,直接根据浏览器

    2024年02月09日
    浏览(49)
  • Selenium根据Chrome浏览器 版本自动下载/更新驱动chromedriver.exe webdriver_manager库

    Selenium提供了一个webdriver_manager库,可以帮助自动下载和更新Chrome浏览器的驱动程序chromedriver.exe。您可以按照以下步骤操作: 安装webdriver_manager库。可以在命令行或终端中运行以下命令进行安装: 在Selenium Python脚本中,导入webdriver_manager并使用ChromeDriverManager类来创建ChromeDri

    2024年02月16日
    浏览(36)
  • Selenium教程05:使用webdriver-manager自动下载浏览器驱动,再也不用担心driver版本的问题了

    WebDriverManager是一个用于管理Web驱动程序的工具,主要用于自动化测试领域。在进行 Selenium 测试时,需要一个与浏览器相匹配的 Web 驱动程序,以便控制和操作浏览器。WebDriverManager可以自动下载和管理浏览器驱动程序,会自动检测本地系统中安装的浏览器,并下载对应的浏览

    2024年01月17日
    浏览(54)
  • 测开 - 自动化测试 selenium - 自动化概念 && 测试环境配置 - 细节狂魔

    自动化测试指 软件测试的自动化 ,在 预设状态下 运行应用程序或者系统. 预设条件 包括正常和异常 ,最后评估运行结果。   自动化测试,就是 将人为驱动的测试行为转化为机器执行的过程。 【机器 代替 人工】 自动化测试 包括UI自动化,接口自动化,单元测试自动化。

    2024年02月02日
    浏览(65)
  • Selenium 自动化 —— 使用WebDriverManager自动下载驱动

    上一篇文章 入门和 Hello World 实例 中,我们提供了一个最简单的 Selenium 上手的例子。 但是某一天,突然发现相同的代码居然运行报错了。这是怎么回事呢? 日志中其实提示的很明显了:Chrome浏览器和Chrome WebDriver的版本不匹配。当前WebDriver只支持Chrome浏览器版本114. 先检查一

    2024年03月26日
    浏览(40)
  • python + selenium 自动下载浏览器驱动文件

    python + selenium 自动下载浏览器驱动文件

    2024年02月02日
    浏览(38)
  • python不同版本的下载安装和配置

    我这里下载的是3.9.9,各位也可以根据自己需要下载;如果官网下载很慢的话,可以用对应的镜像源下载 python安装包国内镜像地址 网站上有很多版本,自己根据需求下载 根据下面步骤,进行python压缩包的配置和编译 安装完成后,应该有对应的python可执行文件; 并且在当前目录

    2024年02月08日
    浏览(30)
  • 安装selenium和关于chrome高版本对应的driver驱动下载安装【Win/Mac 】

    目录 一、查看自己电脑上chrome的版本 二、下载 ChromeDriver  三、安装selenium 法一:打开pycharm,点击File,Setting进入配置页面,点击Project下面的Python Interpreter进入环境配置页面,点击+。输入selenium。之后install 四、环境配置 五、验证安装 一、查看自己电脑上chrome的版本 二、下

    2024年04月11日
    浏览(38)
  • Python Selenium 驱动下载与配置使用(详细流程)

    根据自己的操作系统下载相对应的驱动, webdriver 需要和对应的浏览器版本以及 selenium 版本对应。 例如当前电脑 Chrome 版本为 版本 107.0.5304.110(正式版本) (arm64) ,重点只需要看 107.0 后面的小版本号不需要管,打开 Chrome浏览器驱动(chromedriver ) 找到 107.0 开头的下载就行,

    2024年02月05日
    浏览(33)
  • 谷歌chrome浏览器所有历史版本下载及selenium自动化控制插件资源分享

    使用python + selenium做网页自动化开发的小伙伴经常需要用到google chrome浏览器以及chromedriver插件。     谷歌浏览器所有历史版本下载链接: chrome历史版本,点击下载 chromedriver插件下载地址: 下载链接1:点击下载 下载链接2:点击下载 chromedriver插件与浏览器版本有对应关系,

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包