0
我有一個測試用例,它會停止並拋出一個錯誤「找不到元素」。如何重啓在selenium IDE中執行測試用例
現在我想要做的是,我想selenium IDE刷新頁面並從頭開始運行腳本。
我想知道的是,有什麼方法可以在Selenium IDE中實現這一點。如果是,如何?
我有一個測試用例,它會停止並拋出一個錯誤「找不到元素」。如何重啓在selenium IDE中執行測試用例
現在我想要做的是,我想selenium IDE刷新頁面並從頭開始運行腳本。
我想知道的是,有什麼方法可以在Selenium IDE中實現這一點。如果是,如何?
是的,當然。首先,你應該有一個try-except-else
結構。然後你應該有一個while True
循環,並指定NoSuchElementException
從循環開始繼續。在except
塊的第一行中,您輸入一行作爲driver.refresh()
。在else
區塊你break
的循環並考慮你應該有兩個except
區塊;一個用於NoSuchElementException
,另一個用於其他例外。在第二個,你應該break
循環我猜。下面是一個示例代碼:
import selenium.common.exceptions as SeleniumExceptions
from selenium import webdriver
import sys
driver = webdriver.Firefox()
while True:
try:
element = driver.find_element_by_id('some_id')
# do whatever you want
except SeleniumExceptions.NoSuchElementException:
driver.refresh()
continue
except:
print sys.exc_info()
break
else:
break
EDIT1:
想想看,如果你有一個特定的frame
或iframe
工作,你應該切換回它driver.switch_to_frame(driver.find_element_by_id('frame_id'))
和繼續工作;或者如果您認爲您應該等待框架加載,您可以使用此代碼:
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
WebDriverWait(driver, timeout=10).until(EC.frame_to_be_available_and_switch_to_it(driver.find_element_by_id('frame_id')))
非常感謝zeinab爲您提供的寶貴回覆。我會馬上嘗試! – LeonarD
zeinab我想這可能是webdriver代碼,不是嗎? 我想在SELENIUM IDE中做到這一點,你能幫忙嗎? – LeonarD
我對SELENIUM IDE沒有太多的工作,但也許我可以嘗試找到一種方法。如果我這樣做,我會告訴你。 –