显示等待实例,第18行报错 TypeError:__init__() takes 2 positional arguments but 3 were given,百思不得其解,求解

  • 正确写法应该是:WebDriverWait(self.driver, 10).until(expected_conditions.element_to_be_clickable((By.XPATH, '//*[@xxx=xxxx]')))

  • 注意看,最后那个是有三个括号,这就是为什么报错提示说“实际2个,你给了三个”。locator和driver两个参数作为一个整体,其实是作为那个函数的第一个参数,作为Web Element的元素。第一个括号,是until里面内容,第二括号,是clickable里面内容,第三个括的号,是包括了web element返回的元素。