按照你给出的建议运行后,报错TypeError: User_shopping.execute_script() takes 2 positional arguments but 3 were given
时间: 2023-06-27 22:00:53 浏览: 130
这个错误提示说明,你传递了3个参数给`User_shopping.execute_script()`,但是该函数只接受2个参数。你需要检查一下你的代码,看看在调用`User_shopping.execute_script()`函数时是否多传递了一个参数。
如果你能提供完整的代码和具体的报错信息,我可以更好地帮助你解决问题。
相关问题
def add_shopping(self): self.get(User_shopping_process.URL_shopping.value) self.click(User_shopping_process.LOC_搜索框) self.send_keys(User_shopping_process.LOC_搜索框,'直磨机') self.click(User_shopping_process.LOC_搜索按钮) hand = self.get_handles() self.click(User_shopping_process.LOC_商品框) self.switch_window(hand) self.click(User_shopping_process.LOC_型号) > self.execute_script("arguments[0].removeAttribute('readonly')", User_shopping_process.LOC_数量) E TypeError: User_shopping.execute_script() takes 2 positional arguments but 3 were given
这个错误提示是因为在调用 `execute_script` 方法时传入了 3 个参数,但该方法只接受 2 个参数。可以尝试修改代码如下:
```
def add_shopping(self):
self.get(User_shopping_process.URL_shopping.value)
self.click(User_shopping_process.LOC_搜索框)
self.send_keys(User_shopping_process.LOC_搜索框,'直磨机')
self.click(User_shopping_process.LOC_搜索按钮)
hand = self.get_handles()
self.click(User_shopping_process.LOC_商品框)
self.switch_window(hand)
self.execute_script("arguments[0].removeAttribute('readonly')", User_shopping_process.LOC_数量)
self.click(User_shopping_process.LOC_型号)
```
这样就可以避免传入多余的参数,执行脚本时也不会出现错误了。
TypeError: timer_decorator.<locals>.timer() takes 0 positional arguments but 2 were given是什么意思?
这个错误意味着你试图调用一个不接受任何参数的函数 `timer()`,但是你却给了它两个参数。这通常发生在使用装饰器时,装饰器期望被装饰的函数没有参数,但是你却给了它参数。
例如,下面这个装饰器期望被装饰的函数没有参数:
```python
def timer_decorator(func):
def timer():
start_time = time.time()
func()
end_time = time.time()
print(f"Function took {end_time - start_time} seconds to execute")
return timer
@timer_decorator
def my_function(x):
print("Hello World")
my_function(5)
```
这个代码会报错,因为 `my_function()` 有一个参数 `x`,但是 `timer()` 函数没有参数。要解决这个问题,你需要在 `timer()` 函数中添加一个参数,或者修改被装饰的函数,使其不需要参数。
阅读全文