我想验证一行是否显示。我使用python和Selenium。这里是我到目前为止已经试过Python IF语句无法识别其他:
try:
row = self.driver.find_element_by_xpath(<row6>).is_displayed()
if row is False:
print("button is not displayed. Test is passed")
else:
do stuff
except:
NoSuchElementException
我努力实现以下目标: 页#1只显示一个按钮,如果页#2已经排< 6.
我仍然有逻辑写条件 - >如果行是假的:。但是,如果它是错误的,它应该至少打印字符串。
此刻,else:在我的代码中不起作用。没有显示错误,但尝试:退出NoSuchElementException。
更新:我也尝试了下面的代码,我验证按钮是否显示在页面#1上,转到页面#2并验证row6是否存在。如果显示按钮,这将起作用。如果没有显示按钮,它抛出一个错误:NoSuchElementException异常:消息:找不到元素:
try:
button = self.driver.find_element_by_xpath(PATH)
if button.is_displayed():
do stuff
row = self.driver.find_element_by_xpath(<row6>)
if row.is_displayed():
do stuff
else:
do stuff
except:
button = self.driver.find_element_by_xpath("PATH").is_displayed()
if button is False:
print("button is hidden. Test is passed")
上我怎样才能使这项工作任何建议?
你期望有什么东西可以循环吗? '如果'不启动循环。 – Matthias
是的。所以如果row为False: - >按钮不显示,如果row为True,则显示按钮。无论哪种方式,测试都是有效的。 – Bubbles
我很困惑你的问题和你正在努力完成的工作 – heinst