dsijfhjiow 2024-09-27 18:32 采纳率: 100%
浏览 11
已结题

WebDriver.__init__() takes from 1 to 5 positional arguments but 6 were given

img

为什么一直报TypeError: WebDriver.init() takes from 1 to 5 positional arguments but 6 were given错误呢?

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-27 18:33
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    这个错误表明在尝试实例化webdriver.Remote时提供的参数数量与预期的参数数量不符。WebDriver.__init__()方法期望从1到5个位置参数,但你提供了更多的参数。具体来说,问题出在appium\webdriver\webdriver.py文件的第97行。

    从错误信息来看,似乎是super(WebDriver, self).__init__()在调用父类的构造函数时接收了额外的参数,而这是不允许的。为了解决这个问题,你需要确保你传递给webdriver.Remote的参数是正确的。通常,webdriver.Remote的初始化只需要两个参数:command_executordesired_capabilities。你已经正确地传递了这两个参数。

    可能的问题在于你的环境中的appium\webdriver\webdriver.py文件被修改过,或者存在某种冲突导致了这个错误。为了解决这个问题,你可以尝试以下步骤:

    1. 确保你使用的Appium和对应的Python客户端库(例如Appium-Python-Client)的版本是兼容的。
    2. 检查你的代码,确保你没有在其他地方修改过webdriver.py文件。
    3. 尝试在一个干净的环境中重新安装Appium和对应的Python客户端库。你可以使用如下命令来安装:
    pip install Appium-Python-Client
    
    1. 如果问题仍然存在,考虑查看相关的文档或社区论坛,看看是否有其他人遇到了类似的问题并提供了解决方案。

    另外,注意你的代码中有一些拼写错误和格式问题,例如"http:/127.0.0.1:4723/wd/hub"中的协议头应该是"http://"而不是"http:/"。请确保你的代码中没有此类小错误,因为它们可能会导致问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 创建了问题 9月27日