我想驗證一行是否顯示。我使用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