背景
我一般运行 appium 都是在 osx 或者 linux 上面,最近在教几个同事使用 appium 做些自动化(爬虫)的事,有几个人使用的是 windows,配置环境搞了很久,服务跑起来了之后,用代码运行,又报了上面标题的错误。
问题分析
首先判断,这是一个 python 的错误,也就是说,不是 appium 本身的问题,那就从两点开始分析,要么是系统环境问题,要么是哪里的配置问题。
先从配置的问题开始下手,毕竟新手一般都容易犯一些低级错误。但是拿着同事的代码在另一位同事的机器(osx)上跑,怎么都可以。
奇怪。
那难道是系统的问题?确实,人家错误信息也提示了,就是个 WinError,但是如何下手呢?
网上查到关于这个问题的描述都是 bindIp 的时候报的错,那就从 ip 下手开始搞吧。
先看下与 ip 相关的代码:
...
APPIUM_HOST
= 'http://0.0.0.0:%s/wd/hub'
driver
= webdriver
.Remote
(AndroidEnum
.APPIUM_HOST
% self
.host
, self
.desired_caps
)
...
解决方法
破案了,就是上面的 ip 问题,把 0.0.0.0 改为 127.0.0.1 正常运行了。
不过这里比较奇怪的就是,为什么在 osx 上可以正常运行,而在 windows 上就报错呢?
而且 0.0.0.0 和 127.0.0.1 具体又有什么区别呢?
希望大佬来上上课。