Selenium Python 检查变量值是不是不为空。我得到 False 但有一个价值
Posted
技术标签:
【中文标题】Selenium Python 检查变量值是不是不为空。我得到 False 但有一个价值【英文标题】:Selenium Python check if variable value is not blank. I am getting False but there is a valueSelenium Python 检查变量值是否不为空。我得到 False 但有一个价值 【发布时间】:2016-04-24 15:17:14 【问题描述】:我有一个检查变量是否为空的函数。如果变量确实有值,我希望函数返回 True。 如果变量没有分配值,我希望函数返回 False。
如果有值,我的函数将返回 False。如果变量有值,我希望函数返回 True。 我的逻辑似乎不正确。我需要一些帮助来解决问题。
我的功能是:
def is_view_report_showing_results(self):
usn_row_cell1_element = self.get_element(By.XPATH, '//table[@id="reporting_view_report_dg_main_body"]/tbody/tr[1]/td[3]')
source_fields_row_cell1_element = self.get_element(By.XPATH, '//table[@id="reporting_view_report_dg_main_body"]/tbody/tr[1]/td[4]')
#return (usn_row_cell1_element.text is not None) and (source_fields_row_cell1_element.text is not None)
return not (usn_row_cell1_element.text == "") and (source_fields_row_cell1_element.text == "")
self.assertTrue(reports_view_results_page.is_view_report_showing_results(), "Problem with viewing report. Please see log for details")
变量usn_row_cell1_element中的值为字符串值“2” 变量source_fields_row_cell1_element中的值是一个字符串“地址”
我打算这样试试:
def is_view_report_showing_results3(self):
usn_row_cell1_element = self.get_element(By.XPATH, '//table[@id="reporting_view_report_dg_main_body"]/tbody/tr[1]/td[3]')
source_fields_row_cell1_element = self.get_element(By.XPATH, '//table[@id="reporting_view_report_dg_main_body"]/tbody/tr[1]/td[4]')
#return (usn_row_cell1_element.text is not None) and (source_fields_row_cell1_element.text is not None)
if (usn_row_cell1_element.text == "") and (source_fields_row_cell1_element.text == "") == False:
return False
else:
return True
谢谢,里亚兹
【问题讨论】:
【参考方案1】:只需检查值的"truthiness":
return usn_row_cell1_element.text and source_fields_row_cell1_element.text
或者,如果您想在至少有一个值非空的情况下通过测试,请使用or
:
return usn_row_cell1_element.text or source_fields_row_cell1_element.text
请注意,在这种情况下,该函数将返回一个字符串值,但这不是问题,因为根据docs,assertTrue
将执行bool(x) is True
检查。
【讨论】:
太好了。感谢您的帮助。以上是关于Selenium Python 检查变量值是不是不为空。我得到 False 但有一个价值的主要内容,如果未能解决你的问题,请参考以下文章