self.clear(User_shopping_process.LOC_数量) E AttributeError: 'User_shopping' object has no attribute 'clear'
时间: 2023-11-30 17:03:59 浏览: 63
这个错误提示意味着在 `User_shopping` 类中没有 `clear` 方法。你可以检查一下 `User_shopping` 类的定义,确认是否定义了 `clear` 方法。如果没有定义,你需要在类中添加一个 `clear` 方法。
另外,如果你在其他地方使用了 `clear` 方法,也需要检查一下是否传入了正确的对象。
相关问题
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_型号)
```
这样就可以避免传入多余的参数,执行脚本时也不会出现错误了。
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')",self.find_element(By.XPATH,'//*[@id="text_box"]')) E TypeError: BasePage.find_element() takes 2 positional arguments but 3 were given
根据错误提示,`BasePage.find_element()`方法只需要传入两个参数,但是在 `self.execute_script()` 方法中传入了三个参数,导致出现了 `TypeError` 错误。
建议检查 `BasePage.find_element()` 方法的实现代码,看看是不是多传了一个参数。如果确认该方法只需要传入两个参数,则需要修改 `self.execute_script()` 方法的调用方式,只传入两个参数即可。
阅读全文