【问题标题】:What is the correct way to update an element in elements list?更新元素列表中元素的正确方法是什么?
【发布时间】:2022-01-10 20:54:56
【问题描述】:

我创建了一个元素列表,我想更新其中一个列表元素

这是对更新方法的调用:

companies_list = self.create_list("xpath", self.txt_company_name)
self.update_elem(companies_list[0], company1_name)

这是更新方法:

def update_elem(self, elem, text):
    elem.send_keys(text)

在方法中,我收到警告“从方法创建函数”和建议“方法 'update_elem' 可能是'静态'”

在不收到警告的情况下更新列表元素的正确方法是什么?

【问题讨论】:

  • 该方法确实可以是静态的,或者只是一个函数,因为它不使用self。或者直接内联,反正只有一行。
  • 你没有在方法体中使用self,所以它是一个函数。使用 @staticmethod 并删除 self 以修复警告。

标签: python


【解决方案1】:

假设您使用的是 Pycharm,它认为您想将“update_elem”声明为静态,因为它不会在类实例的方法主体中更改。

看看这个answer,你基本上需要添加@staticmethod装饰器或者'update_elem'改变类的实例。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
  • 我还需要添加哪些详细信息?
  • @Liorp 要么在 update_elem 方法之前添加 @staticmethod 装饰器,要么让 update_elem 方法更改类的属性 - 类似于 self.elem.send_keys(text)self.elem = elem.send_keys(text)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-27
  • 2017-03-05
  • 1970-01-01
  • 2014-07-31
  • 2018-09-12
  • 2011-12-01
相关资源
最近更新 更多