在开发 Selenium 3.x 版本时,实现了对 W3C WebDriver 标准的支持。支持这个新协议和旧的 JSON 有线协议。在 3.11 版左右,Selenium 代码开始符合 W3C 1 级规范。最新版本的 Selenium 3 中的 W3C 兼容代码将在 Selenium 4 中按预期工作。
在某些情况下,升级仍然会存在依赖项的问题,比如使用python的pip进行selenium安装的时候会出现依赖异常。
一、升级依赖关系
使用 Python 的最重要变化是所需的最低版本,Selenium 4 将至少需要 Python 3.7 或更高版本。
在python环境下,基于pip命令行做升级的话, 你可以执行:
1、在python3.7+环境下
执行如下命令会自动安装selenium4以上最新版。
pip3 install selenium
如果需要安装selenium3的相关版本,需要指定版本安装。
pip3 install selenium==3.14.0
如果在python3.7以上环境,但是pip版本在19以下,会出现依赖问题,而导致安装最新版selenium失败的问题,解决方法就是升级pip。
python -m pip install --upgrade pip
或者通过get-pip.py文件升级(私聊作者获取最新版),将其下载到本地:d:\get-pip.py
可以通过执行该文件升级pip,主要用于pip崩溃后的重装和升级。
python d:\get-pip.py
2、在python3.6环境下
执行如下命令会自动安装selenium3.14.0版本。
pip3 install selenium
二、新版本的差异
Selenium 4 移除了对旧协议的支持,并在引擎盖下默认使用 W3C WebDriver 标准。对于大多数情况,此实施不会影响最终用户,主要的例外是Capabilities和Actions类。
1、capabilities的更新
如果测试功能的结构不符合 W3C,可能会导致会话无法启动,以下是 W3C WebDriver 标准功能列表:
-
browserName
-
browserVersion(代替version)
-
platfo