2016-12-05 80 views
0

我在一個項目中爲我正在爲此工作的公司製作模塊化行爲驅動框架。在製作「用戶接受警報」這一步驟的模塊化方法時,當我測試它並出現預期警報框時,它會自動關閉,因此顯示「NoAlertPresentException:消息:沒有警報存在」異常。** Python Selenium Behave **在進入下一個步驟後自動關閉警報框

我迄今所做的這個代碼:

def acceptalert(): 
    alert = driver.switch_to.alert 
    alert.accept() 
    driver.switch_to.parent_frame() 

這段代碼的工作,因爲我有那些在我納入警告框關閉模塊。唯一的問題就是當我嘗試在我的框架中將其作爲獨立模塊時。我已經完成了這個研究,但是我真的從未得到過我的問題。我希望在這裏能有人能幫助我。非常感謝你。

+0

那麼你的代碼有什麼問題?不清楚是什麼問題......在你接受它之前有時會關閉alert,所以你會得到'NoAlertPresentException'? – Andersson

回答

0

找到了答案。謝謝。我實現了「用戶點擊」按鈕的步驟,其中是與一系列xpath匹配的按鈕的值,如果xpath返回零匹配,則會獲取每個內部可用的iframe和循環。當XPath的仍返回零個匹配,那麼它切換回主框架這個和平的代碼:

driver.switch_to.parent_frame() 

與這一個副作用是它會解除警報框。我的問題解決了。感謝大家。

+0

「用戶點擊** button_name **」,我不知道* <* and *> *是禁止的。 –