如何让 Chrome 浏览器版本现在与 Python 一起运行? [关闭]

2024-02-14

我正在使用 selenium 运行一个应用程序,并且在运行 Chrome 驱动程序之前我想知道安装的实际 chrome 浏览器版本,以避免出于兼容性原因出现任何异常。我知道我可以使用driver = webdriver.Chrome("path\\to\\chromedriver.exe") then driver.capabilities['browserVersion']显示版本,但如果 Chrome 驱动程序版本与实际的 Chrome 浏览器版本不同,则会引发异常。

Thanks

Edited:实际上我自己找到了答案,我找到的解决方案:

from win32com.client import Dispatch

def get_version_via_com(filename):
    parser = Dispatch("Scripting.FileSystemObject")
    try:
        version = parser.GetFileVersion(filename)
    except Exception:
        return None
    return version

if __name__ == "__main__":
    paths = [r"C:\Program Files\Google\Chrome\Application\chrome.exe",
             r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"]
    version = list(filter(None, [get_version_via_com(p) for p in paths]))[0]
    print(version)
    # result: 80.0.3987.122

PS:我认为人们一开始并没有理解我的问题,我很抱歉我的英语


如果您使用硒,那么您可以获得chrome浏览器版本使用driver.capabilities字典。

driver.capabilities['browserVersion']

早期版本的 chromedriver 存储了 chrome 浏览器版本driver.capabilities['version']。如果你想获得chrome浏览器版本而不必担心这个问题,你可以使用下面的代码。

if 'browserVersion' in driver.capabilities:
    print(driver.capabilities['browserVersion'])
else:
    print(driver.capabilities['version'])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Chrome 浏览器版本现在与 Python 一起运行? [关闭] 的相关文章

  • 如何并排绘制具有相同 X 坐标的条形图(“闪避”)

    import matplotlib pyplot as plt gridnumber range 1 4 b1 plt bar gridnumber 0 2 0 3 0 1 width 0 4 label Bar 1 align cente
  • caffe安装:opencv libpng16.so.16链接问题

    我正在尝试在 Ubuntu 14 04 机器上使用 python 接口编译 caffe 我已经安装了 Anaconda 和 opencvconda install opencv 我还安装了咖啡中规定的所有要求 并更改了注释块makefile
  • 在 python 中发送标头[重复]

    这个问题在这里已经有答案了 我有以下 python 脚本 我想发送 假 标头信息 以便我的应用程序就像 Firefox 一样运行 我怎么能这么做呢 import urllib urllib2 cookielib username passw
  • Discord.py 斜线命令在 cogs 中不起作用

    我正在构建一个不和谐的机器人 并且想要在 cogs 内使用斜杠命令 但这些命令不显示或工作 这是代码 cog guild ids 858573429787066368 861507832934563851 class Slash comma
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • 如何在Python中手动对数字列表进行排序?

    规格 Ubuntu 13 04 Python 3 3 1 背景 Python的初学者 遇到了这个 手动排序 问题 我被要求做的事情 让用户输入 3 个数值并将它们存储在 3 个不同的变量中 不使用列表或排序算法 手动将这 3 个数字从小到大
  • 如何在 python 中使用交叉验证执行 GridSearchCV

    我正在执行超参数调整RandomForest如下使用GridSearchCV X np array df features all features y np array df gold standard labels x train x
  • 提高光线追踪命中功能的性能

    我有一个简单的 python 光线追踪器 渲染 200x200 的图像需要 4 分钟 这对于我的口味来说绝对是太多了 我想改善这种情况 几点 我为每个像素发射多条光线 以提供抗锯齿功能 每个像素总共发射 16 条光线 200x200x16
  • ImproperlyConfigured at / 不允许空静态前缀 - Django

    我正在使用 Django 上传 显示图像 该网站部署在 Heroku 上 下列的this https coderwall com p bz0sng教程我能够成功上传图像 但是 图像并未显示在模板中 然后我了解到我的 urls py 末尾应该
  • Pandas 中每列的曲线拟合 + 外推值

    我有一个包含大约 300 列的数据集 每一列都与深度相关 Pandas DataFrame 的简化版本看起来像这样 import matplotlib pyplot as plt import numpy as np import pand
  • 类变量:“类列表”与“类布尔值”[重复]

    这个问题在这里已经有答案了 我不明白以下示例的区别 一次类的实例可以更改另一个实例的类变量 而另一次则不能 示例1 class MyClass object mylist def add self self mylist append 1
  • 使用具有可变数量索引的 numpy mggrid

    如何将 numpy mgrid 与可变数量的索引一起使用 我在 github 上找不到任何人将其与硬编码值以外的任何内容一起使用的示例 import numpy as np np mgrid 1 10 1 10 this works fin
  • 如何将 django ModelForm 字段显示为不可编辑

    接受我的初步教训django ModelForm 我想让用户能够编辑博客中的条目 BlogEntry has a date postedTime title and content 我想向用户展示一个编辑表单 其中显示所有这些字段 但仅包含
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • 如何创建简单的梯度下降算法

    我正在研究简单的机器学习算法 从简单的梯度下降开始 但在尝试用 python 实现它时遇到了一些麻烦 这是我试图重现的示例 我获得了有关房屋的数据 居住面积 以英尺为单位 和卧室数量 以及最终的价格 居住面积 英尺2 2104 卧室 3 价
  • 在自定义 keras 层的调用函数中传递附加参数

    我创建了一个自定义 keras 层 目的是在推理过程中手动更改前一层的激活 以下是基本层 它只是将激活值乘以一个数字 import numpy as np from keras import backend as K from keras
  • 如何仅读取 CSV 文件每行的第一列 [重复]

    这个问题在这里已经有答案了 如何在Python中读取CSV文件每行的第一列 我的数据是这样的 1 abc 2 bcd 3 cde 我只需要循环第一列的值 另外 当我在 calc 中打开 csv 文件时 每行中的数据都在同一个单元格中 这正常
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if

随机推荐

  • Aurelia Typescript 项目仅适用于 Chrome

    有谁知道为什么列出 Aurelia Typescript 项目在这个 git 存储库中 https github com cmichaelgraham aurelia typescript只能在 Chrome 浏览器上使用吗 是否存在目前仅
  • 自引用结构定义?

    我写 C 的时间不长 所以我不确定应该如何做这些递归的事情 我希望每个单元格包含另一个单元格 但我在 字段 child 的类型不完整 行 这是怎么回事 typedef struct Cell int isParent Cell child
  • ActionCable:如何使用动态通道

    我用 Rails 5 和 ActionCable 构建了一个简单的聊天 其中有一个简单的 聊天 频道 如何使频道订阅和消息广播动态化 以便我可以创建聊天频道并将消息发送到正确的频道 不幸的是 我找不到这方面的单个代码示例 Update 下面
  • Sqoop 自由格式查询导致 Hue/Oozie 中的参数无法识别

    我正在尝试使用自由格式查询运行 sqoop 命令 因为我需要执行聚合 它作为 Oozie 工作流程通过 Hue 界面提交 以下是命令和查询的缩小版本 处理命令时 query 语句 用引号引起来 会导致查询的每个部分被解释为无法识别的参数 如
  • Flutter:垃圾收集 - 如何检查?

    在 Flutter 中 如何检查我是否正确释放 处置 所有内容 我正在构建一个应用程序 我感觉模拟器在一系列热重载后变得越来越慢 非常感谢您的回答 Dart 带有一个名为的调试器Observatory 它可以满足您所需的一切 从 CPU 内
  • 如何使用 Java 8 Streams 按对象属性分组并映射到另一个对象?

    假设我有一组碰碰车 它们的侧面有尺寸 颜色和标识符 汽车代码 class BumperCar int size String color String carCode 现在我需要将碰碰车映射到List of DistGroup对象 每个对象
  • HTML 5 音频当前位置

    将 HTML 5 与 DOM 一起使用 有没有办法获取用户正在播放音频文件的当前位置 并在稍后返回到该位置 See the HTML媒体元素 http dev w3 org html5 spec Overview html htmlmedi
  • 使用 **kwargs 将 **kwargs 参数传递给另一个函数

    我不明白下面的例子 假设我有这些功能 python likes def save filename data kwargs fo openX filename w kwargs lt 1 fo write data fo close pyt
  • Omniauth-facebook 登录无法正常工作

    当我尝试使用omniauth facebook 登录我的Rails 应用程序时 出现以下错误 这是在 localhost 3000 上测试时 不安全登录被阻止 您无法从不安全页面获取访问令牌或登录此应用程序 尝试将页面重新加载为 https
  • 命令设计模式 - 调用者是可选的吗?

    Command 设计模式中 Invoker 类是可选的吗 客户端需要实例化命令的具体命令和接收器 客户端是否总是需要实例化 Invoker 并将命令对象传递给 Invoker 对象 稍后 每当客户端需要执行命令时 客户端只需询问 Invok
  • FizzBu​​zz 列表理解

    当我学习 python 时 我正在摆弄一些不同的 fizzuzz 脚本 我发现这个效果很好 但我无法破译它是如何工作的 我知道正常的嘶嘶声如何与 for 循环和 if i 3 0 and i 5 0 一起工作 让我困惑的是如何 Fizz n
  • 批处理文件创建另一个批处理文件,如何在写入行时忽略命令?

    我正在编写的 Windows 批处理文件遇到了一些问题 我需要批处理文件将一些特定行写入另一个批处理文件 我一直使用的方法是 type NUL gt batchfile bat ECHO texttobewrittentofile gt g
  • Spark 2.x 的 Spark.sql.crossJoin.enabled

    我正在使用 预览 Google DataProc Image 1 1 和 Spark 2 0 0 为了完成我的一项操作 我必须完成笛卡尔积 从2 0 0版本开始 创建了一个spark配置参数 spark sql cross Join ena
  • Perl 抛出“参考键是实验性的”

    开发环境为OS X 10 10 3 Perl v This is perl 5 version 18 subversion 2 v5 18 2 built for darwin thread multi 2level with 2 regi
  • lambda 表达式中的枚举的编译方式不同;重载解析改进的结果是什么?

    在尝试 Visual Studio 2015 RC 时 我收到了先前工作代码的运行时错误 给定 lambda x gt x CustomerStatusID CustomerStatuses Active 它被传递给一个函数作为Expres
  • 在 Google Market 上发布一款应用的多个版本

    我有一个 Android 应用程序 我想用它来显示高质量的图像 然而 有许多不同的屏幕尺寸和比例 我知道有一些过滤器可以在市场中显示仅适用于小 中 大屏幕设备的应用程序 如果我将两种尺寸的图像放入 1 个应用程序中 应用程序的大小将会增加一
  • 在 RSA 下解码有效负载后未获得相同的会话密钥

    使用以下使用 crypto 库的函数对其进行编码和解码后 我没有获得相同的会话密钥 CryptoPP RSA PrivateKey RSA master privKey CryptoPP RSA PublicKey RSA master p
  • 启动/广播接收器重启问题

    这是一个相当常见的问题 但我失去了理智 我想我已经彻底满足了要求 我希望 BroadcastReceiver 在手机重新启动时执行某些操作 我的广播接收器 用于启动 public class BootReceiver extends Bro
  • Python 闭包和单元格(封闭值)

    Python 的机制是什么使得 lambda x for x in range 5 2 is 4 将 x 的副本绑定到每个 lambda 表达式以使上述表达式等于 2 的常用技巧是什么 我的最终解决方案 for template model
  • 如何让 Chrome 浏览器版本现在与 Python 一起运行? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在使用 selenium 运行一个应用程序 并且在运行 Chrome 驱动程序之前我想知道安装的实际 chrome 浏览器版本 以避免出