首页 > 其他分享 >'WebDriver' object has no attribute 'find_element_by_class_name' 解决办法

'WebDriver' object has no attribute 'find_element_by_class_name' 解决办法

时间:2022-08-18 15:33:42浏览次数:66  
标签:WebDriver appium name no python selenium client 版本 pip

在APP自动化测试过程中,在Pycharm中重新下载了selenium和appium-python-client后,导致已运行通过的代码运行失败,提示:'WebDriver' object has no attribute 'find_element_by_class_name' 

在百度上找了很多种方法,大多数是说要改写查找的方法,有些使用MobileBy,有些是把EC改写,尝试了这些方法后都失败了,即使改写的语句运行成功,后面的语句也会有类似提示.

从PyCharm的File->Settings->Project Interpreter中看到selenium的版本是4.4.1,appium-python-client的版本是2.6.1,从appium-python-client官网中看到2.6.1是最新版本,于是想起是不是版本不兼容问题,于是将selenium和appium-python-client下载,重新安装appium-python-client 1.3.0,问题解决。

解决步骤:

1.CMD打开Windows命令窗口,执行卸载selenium和appium-python-client命令:

pip uninstall selenium
pip uninstall appium-python-client

  这种方法没有实际操作,实际操作的是如下:

        打开PyCharm,进入File->Settings->Project Interpreter,删除除pip和setuptools之外的所有库包(如果没有把握,建议使用前面pip uninstall命令来删除)

2.因为安装appium-python-client时会自动安装对应的selenium版本,所以接下来只要安装appium-python-client即可,我这里选择的是1.0.0,

CMD打开Windows命令窗口,执行命令:

pip install appium-python-client==1.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

  执行后提示安装成功,如下图:

 

 以上两步执行后返回到PyCharm查看selenium和appium-python-client版本,在File->Settings->Project Interpreter中看到安装的appium-python-client版本是1.0.0,自动安装的selenium版本是3.141.0,。

接下来返回到代码中,代码中import里面selenium和appium包已经不报错,但是像MobileBy库和MobileCommand库还是报错,于是升级appium-python-client版本到1.3.0,同样在CMD窗口中执行

pip install appium-python-client==1.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

  执行完成

 

再返回代码中查看,已经没有红色波浪线报错提示

 

运行代码,运行成功,不会报'WebDriver' object has no attribute 'find_element_by_class_name' 或'Dict' has no  founctin 'send_keys'等错误。

 

总结:

1.在代码编写之前,一定要注意好各个库包的版本是否匹配,selenium和appium都还在不断更新中,所以版本非常重要,目前selenium已经到了selenium4,个人还是更习惯selenium3的语法,所以选择重新安装selenium3的库包

2.使用PyCharm等类似IDE下载库包时,默认使用的是库包的最新版本,但最新版本不一定稳定且实际应用比较少,所以不建议使用IDE来下载库包,可以手动去官网下载或者使用pip下载对应版本的库包

 

标签:WebDriver,appium,name,no,python,selenium,client,版本,pip
From: https://www.cnblogs.com/wx170119/p/16598889.html

相关文章