appium_self.driver = webdriver.Remote(DRIVER_SERVER, self.desired_cap)_没有反应

问题描述:

在使用appium真机模拟微信登录的时候,使用appium是没有问题,但是在使用pycarhm连接appium的时候在执行如下语句的时候出现问题

webdriver.Remote(DRIVER_SERVER, self.desired_cap)

在执行这条语句的时候,显示一直在执行,就不会在执行下面的语句了。仿佛进入了死循环。

    def __init__(self):
        # 初始化
        print("__init__")
        self.desired_cap = {
            "platformName": PlatformName,
            "deviceName": DeviceName,
            "appPackage": AppPackage,
            "appActivity": AppActivity
        }
        print("__init___2")
        # 在DRIVER_SERVER中存放地址,desired_cap中存放驱动配置
        # print(DRIVER_SERVER)
        # print(self.desired_cap)
        self.driver = webdriver.Remote(DRIVER_SERVER, self.desired_cap)
        print("__init___3")
        self.wait = WebDriverWait(self.driver, 10)
        print("__init___4")

执行结果:

__init__
__init___2

使用appium真机测试试没有问题的

appium_self.driver = webdriver.Remote(DRIVER_SERVER, self.desired_cap)_没有反应_第1张图片

解决:

在度娘找了好久,解决方法也都试了,没有解决,无奈下将appium卸载后,重新安装,sdk重新添加到环境变量。

在执行还是不行。原因不明,仍在调查

方法一:

是重新下载的sdk,将platform-tools文件夹和tools文件夹路径添加到变量中后才成功运行的,

appium_self.driver = webdriver.Remote(DRIVER_SERVER, self.desired_cap)_没有反应_第2张图片

我的系统的环境变量:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;E:\Anaconda3;E:\Anaconda3\Library\mingw-w64\bin;E:\Anaconda3\Library\usr\bin;E:\Anaconda3\Library\bin;E:\Anaconda3\Scripts;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;D:\ffmpeg-20180813-551a029-win64-static\bin;D:\WinMerge;D:\phantomjs-2.1.1-windows\binD:\anzhuo\platform-tools;D:\anzhuo\tools;C:\Android;C:\Windows\System32;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

方法二:

还有个方法就是将USB线拔出来在插进去,在去执行也可以。

方法三:

刚刚发现的一个方法,因为我的登录代码是封装到类中的,所以我先实例化一个类,在外部通过类对象调用每个方法,而我将所有需要调用的方法在类定义中重新封装到一个方法里,直接通过类对象调用这一个方法就可以。

修改前方法

# 实例化类对象
mo = Moments()
# 登录
mo.login()
# 转到朋友圈
mo.get_friends()
# 朋友圈滑动
mo.crawl()

修改后方法:

将所有调用的方法在类定义封装到一个方法里,类中定封装代码如下(新加):

    # 主方法
    def main(self):
        # 登录
        mo.login()
        # 转到朋友圈
        mo.get_friends()
        # 朋友圈滑动
        mo.crawl()

 实例化对象代码如下:

# 实例化类对象
mo = Moments()
# 主方法
mo.main()

执行结果:

__init__
__init___2
__init___3
__init___4
login
login_使用账号密码登录
login_输入账号
login_输入密码
login_登录
login_识别通讯录

 

你可能感兴趣的:(python,selenium,appium,错误整理)