python连接手机问题

请问这块代码

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

报以下错误是什么情况呢?

  File "C:\Users\95881\PycharmProjects\pythonProject\main.py", line 16, in <module>
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_capabilities=desired_caps)
  File "C:\Users\95881\PycharmProjects\pythonProject\venv\lib\site-packages\appium\webdriver\webdriver.py", line 37, in __init__
    super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)
TypeError: __init__() takes from 1 to 5 positional arguments but 6 were given

desired_caps 怎么写的,写完整看看,比如

from appium import webdriver

desired_caps = {
    'platformName': 'Android',
    'platformVersion': '10',
    'deviceName': 'emulator-5554',
    'appPackage': 'com.example.myapp',
    'appActivity': 'com.example.myapp.MainActivity'
}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_capabilities=desired_caps)

还有,127.0.0.1 是本地地址,手机应该通过电脑的ip访问,比如192.168.0.xxx

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7652100
  • 你也可以参考下这篇文章:python应用与实践之(二)画图时坐标轴标签排序混乱,如何调整?
  • 你还可以看下python参考手册中的 python- 仅限关键字参数
  • 您还可以看一下 Toby老师的python机器学习-乳腺癌细胞挖掘课程中的 警钟长鸣!癌症就在你身边小节, 巩固相关知识点
  • 除此之外, 这篇博客: python数据处理及可视化中的 那么欧式距离和余弦相似度的区别是什么呢? 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    这个错误是因为在创建webdriver.Remote对象时传递了过多的参数导致的。根据错误提示,TypeError: __init__() takes from 1 to 5 positional arguments but 6 were given,此处的__init__()方法只接受1到5个位置参数,但是实际给出了6个参数。

    解决此问题的方法是检查你的代码,确保参数数量正确。有两种可能的解决方案:

    解决方案1: 使用desired_capabilities代替desired_caps

    从错误信息来看,参数名为desired_capabilities而非desired_caps,所以你需要将desired_caps改为desired_capabilities。代码应如下所示:

    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_capabilities=desired_caps)
    

    解决方案2: 检查参数数量

    仔细检查一下你的代码,确保传递给webdriver.Remote对象的参数数量正确。这通常包括command_executordesired_capabilities两个参数。如果你还有其他参数,需要根据Appium文档或你项目的需求来确定是否需要提供额外的参数。

    如果根据你的需求修改参数数量后仍然报错的话,可能是因为Appium版本与你的代码不兼容,此时你可以尝试更新Appium库或寻找其他解决方案。

    希望以上解决方案对你有帮助,如果仍有疑问,请提供更多的信息,我将尽力帮助你解决问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^