我有类方法generated_username
,它生成字符串并返回该字符串,我需要在另一个方法new_full_list
中使用此输出,但我运行整个方法而不仅仅是它的输出
这是我的代码:
class Users():
def generated_username(self, driver):
username = driver.find_element_by_css_selector("[id=systemUser_employeeName_empName]").get_attribute('value')
username = username.replace(' ', '').lower()
username = username + ''.join(random.choice(string.digits) for i in range(3))
return username
def new_full_list(self,driver):
l = driver.find_elements_by_xpath("//*[@class='odd' or @class='even']/td[2]/a")
l = [x.text for x in l]
l.append(self.generated_username(driver))
答案 0 :(得分:1)
如果我理解正确,您希望在特定页面上调用generated_username
,并生成一个字符串。
稍后,在另一个页面上,您希望在new_full_list
中使用之前生成的字符串。
为此,您可以创建一个类变量来保存此字符串。
class Users():
user_string = ""
然后,当在正确的页面上时(我不确定代码的其余部分是什么样的/如何控制流程/何时调用函数),请调用generated_username(driver)
。
我们将修改generated_username
以设置我们之前创建的类变量。
def generated_username(self, driver):
...
<s>return username</s>
this.user_string = username
稍后在其他页面上调用new_full_list(driver)
时,您希望它使用此前一个值。我们可以这样做:
def new_full_list(self,driver):
l = driver.find_elements_by_xpath("//*[@class='odd' or @class='even']/td[2]/a")
l = [x.text for x in l]
l.append(self.user_string)
现在,您在generated_username
内拨打new_full_list
,这意味着整个功能都在运行,包括find_element
等。