Appium1.9 之 Chromedriver安装方式
1、在 appium 官网上下载安装后,下载的是1.7.1的版本,安装之后是1.9.1最新版本。
2、appium安装之后,会发现涉及到 浏览器相关的业务时(我使用的是chrome)会提示 “No Chromedriver found that can automate Chrome '62.0.3202'”。
# -*- coding:utf-8 -*-
'''
Created on Sep 30, 2018 @author: SaShuangYiBing Comment:
'''
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] ='Android'
desired_caps['platformVersion'] ='7.0'
desired_caps['deviceName'] ='DIYTHYTCCQBIV47D'
desired_caps['browserName'] = 'Chrome' desired_caps["unicodeKeyboard"] ="True"
desired_caps["resetKeyboard"] ="True"
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) print(driver.current_package)
print(driver.current_activity) #输出错误如下:
Traceback (most recent call last):
File "D:\WorkSpace3\EXAMPLE\Appiu_ex\qwsa.py", line 18, in <module>
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
File "C:\Program Files\Python36\lib\site-packages\appium\webdriver\webdriver.py", line 97, in __init__
super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)
File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Program Files\Python36\lib\site-packages\appium\webdriver\webdriver.py", line 136, in start_session
response = self.execute(RemoteCommand.NEW_SESSION, parameters)
File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome '62.0.3202'. See https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md for more details.
3、按照错误提示提供的 github 链接去查看如何安装这个driver,发现使用 npm 命令进行安装。
4、打开命令行窗口,输入npm 提示命令无效,接下来就得要先安装某个软件才能支持这个命令,网上上查找一翻之后是要安装 Node.js,之前老的appium版本(v1.4左右)是会自带这个node.js的,新版本目前未发现。
5、前往 Node.js 官网下载跟系统匹配的版本进行安装,安装时一路点 Next 直到 Finish 即可。
6、重新打开命令窗口,输入 npm -v 会提示出版本号,如果未显示出版本号则可能是安装出问题,请将上面步骤重新跑一遍。

7、然后查找浏览器的版本号,找到对应的chrmoedriver 版本号,匹配关系如下:
The following is a list of Chromedriver versions and their corresponding minimum Chrome version that is automatable:
| Version | Minimum Chrome Version | Link to Chromedriver |
|---|---|---|
| 2.42 | 68.0.3440.0 | v2.42 (link) |
| 2.41 | 67.0.3360.0 | v2.41 (link) |
| 2.40 | 66.0.3359.0 | v2.40 (link) |
| 2.39 | 66.0.3359.0 | v2.39 (link) |
| 2.38 | 65.0.3325.0 | v2.38 (link) |
| 2.37 | 64.0.3282.0 | v2.37 (link) |
| 2.36 | 63.0.3239.0 | v2.36 (link) |
| 2.35 | 62.0.3202.0 | v2.35 (link) |
| 2.34 | 61.0.3163.0 | v2.34 (link) |
| 2.33 | 60.0.3112.0 | v2.33 (link) |
| 2.32 | 59.0.3071.0 | v2.32 (link) |
| 2.31 | 58.0.3029.0 | v2.31 (link) |
| 2.30 | 58.0.3029.0 | v2.30 (link) |
| 2.29 | 57.0.2987.0 | v2.29 (link) |
| 2.28 | 55.0.2883.0 | v2.28 (link) |
| 2.27 | 54.0.2840.0 | v2.27 (link) |
| 2.26 | 53.0.2785.0 | v2.26 (link) |
| 2.25 | 53.0.2785.0 | v2.25 (link) |
| 2.24 | 52.0.2743.0 | v2.24 (link) |
| 2.23 | 51.0.2704.0 | v2.23 (link) |
| 2.22 | 49.0.2623.0 | v2.22 (link) |
| 2.21 | 46.0.2490.0 | v2.21 (link) |
| 2.20 | 43.0.2357.0 | v2.20 (link) |
| 2.19 | 43.0.2357.0 | v2.19 (link) |
| 2.18 | 43.0.2357.0 | v2.18 (link) |
| 2.17 | 42.0.2311.0 | v2.17 (link) |
| 2.16 | 42.0.2311.0 | v2.16 (link) |
| 2.15 | 40.0.2214.0 | v2.15 (link) |
| 2.14 | 39.0.2171.0 | v2.14 (link) |
| 2.13 | 38.0.2125.0 | v2.13 (link) |
| 2.12 | 36.0.1985.0 | v2.12 (link) |
| 2.11 | 36.0.1985.0 | v2.11 (link) |
| 2.10 | 33.0.1751.0 | v2.10 (link) |
| 2.9 | 31.0.1650.59 | v2.9 (link) |
| 2.8 | 30.0.1573.2 | v2.8 (link) |
| 2.7 | 30.0.1573.2 | v2.7 (link) |
| 2.6 | 29.0.1545.0 | v2.6 (link) |
| 2.5 | 29.0.1545.0 | v2.5 (link) |
| 2.4 | 29.0.1545.0 | v2.4 (link) |
| 2.3 | 28.0.1500.0 | v2.3 (link) |
| 2.2 | 27.0.1453.0 | v2.2 (link) |
| 2.1 | 27.0.1453.0 | v2.1 (link) |
| 2.0 | 27.0.1453.0 | v2.0 (link) |
上述chromedriver版本匹配及下载链接为:点击跳转
8、在命令行窗口输入 npm install appium --chromedriver_version="2.35" ,我的浏览器版本是 62.0.3202.84 对应匹配的 chromedriver为 2.35
9、待安装完成即可
Appium1.9 之 Chromedriver安装方式的更多相关文章
- Hive的三种安装方式(内嵌模式,本地模式远程模式)
一.安装模式介绍: Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景. 1.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错) ...
- 不经过 App store 的安装方式(转)
所有安装到真机(非越狱)的应用(可以是 .app ,也可以是 .ipa ,只要编译时选的是编译成 Arm 的就好..app 转 .ipa 只需要一条命令) 都必须经过证书签名.证书主要有三大种: 企业 ...
- Eclipse插件安装方式及使用说明
拷贝安装方式 1.通过ECLIPSE_HOME\plugins安装 在eclipse的主目录ECLIPSE_HOME, 比如在我的机器上安装的目录是:ECLIPSE_HOME有一个plugins的目录 ...
- 关于MYSQL数据库安装方式及相关设置简要说明
网上关于MYSQL的教程非常多,但都不是最新的,我这里只是针对最新版本的MY SQL 的安装与设置进行一个简要的说明,大部份操作都相同. 以下是按照WINDOWS 64位操作系统+MY SQL 5.6 ...
- Python模块常用的几种安装方式
Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...
- windows docker安装方式的比较小结
稍微小结一下使用InstallDocker 和dockertoolbox的两种方式安装的docker(名称说明可能不妥,仅代表安装方式) InstallDocker 使用的是Microsoft Hy ...
- caffe 安装在win 7 vs2015 无gpu的安装方式-是无法安装 的
网上多数是vs2012或者vs2013上安装方式,带NA-显卡的需要安装CUDA7.5,安装cuDNN4,cuDNN. 一 :下载caffe源码(microsoft版) 下载地址:https://gi ...
- 【转】android应用程序的安装方式与原理
四种安装方式: 1.系统应用安装――开机时完成,没有安装界面 2.网络下载应用安装――通过market应用完成,没有安装界面 3.ADB工具安装――没有安装界面. 4.第三方应用安装――通过SD卡里的 ...
- centos7 使用 omnibus包安装方式,安装 gitlab7.4
centos7 使用 omnibus包安装方式,安装 gitlab7.4 1: gitlab是一个开源的软件,类似于github.com那样的git代码管理仓库: 官网 https://about.g ...
随机推荐
- 解决 "Script Error" 的另类思路
本文由小芭乐发表 前端的同学如果用 window.onerror 事件做过监控,应该知道,跨域的脚本会给出 "Script Error." 提示,拿不到具体的错误信息和堆栈信息. ...
- 自动化运维(1)之二进制部署MySQL5.7
二进制部署MySQL5.7 这个文档用于基础解释,后面通过ansible的自动化对MySQL单实例进行安装部署. 1.解压文件 # tar zxvf mysql-5.7.22-linux-glibc2 ...
- js------数组随机排序和去重
let arr = ['g', 'b', 'c', 'd', 'e', 'a', 'g', 'b', 'c']; // 数组随机排序(原数组被修改)Array.prototype.randomSort ...
- Apollo 2 如何支持 @Value 注解自动更新
前言 Apollo 在 v0.10.0 版本后,支持自动更新.v0.10.0之前的版本在配置变化后不会重新注入,需要重启才会更新. 也就是说,如果一个属性加入了 @Value 注解,并且这个配置在配置 ...
- swift 基础小结02 -- VFL约束、属性的get和set方法、懒加载、方法替换
一.属性的get和set方法 1.自定义属性的set和get方法 private(set) var _image:UIImage? //自定义属性get,s ...
- 具体CAS操作实现(无锁算法)
具体CAS操作 上一篇讲述了CAS机制,这篇讲解CAS具体操作. 什么是悲观锁.乐观锁?在java语言里,总有一些名词看语义跟本不明白是啥玩意儿,也就总有部分面试官拿着这样的词来忽悠面试者,以此来找优 ...
- 【Java深入研究】4、fail-fast机制
在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList: 注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证.快速失 ...
- 【Quartz】1、Quartz使用说明
简介 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz 允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和触发器的多对多关系,还 ...
- module.exports和exports.md
推荐写法 具体解释可以往后看. 'use strict' let app = { // 注册全局对象 ... } ... // 封装工具箱 exports = module.exports = app ...
- MEF 插件式开发之 小试牛刀
MEF 简介 Managed Extensibility Framework 即 MEF 是用于创建轻量.可扩展应用程序的库. 它让应用程序开发人员得以发现和使用扩展且无需配置. 它还让扩展开发人员得 ...