2016-01-12 104 views
0

我已經選擇了'禁用'單選按鈕並單擊'應用/保存'按鈕應用設置的網頁。但不幸的是,一個警報窗口彈出「如果禁用,寬帶路由器捕獲的信息將丟失。如果您希望保存當前日誌信息,請單擊「取消」按鈕,查看當前系統日誌,然後使用「文件」菜單中的「保存」選項保存日誌數據。Python Selenium Webdriver:如何處理警報窗口

如何點擊「確定」按鈕接受應用的設置? 請在截圖下方參考。

請在下面找到我的Python代碼: 注:我alert.accept()函數沒有點擊 '確定' 按鈕,應用設置

from selenium import webdriver 

driver = webdriver.Firefox() 

driver.find_element_by_xpath('/html/body/blockquote/form/table[1]/tbody/tr/td[2]/input').click() 

try: 

    driver.find_element_by_xpath('/html/body/blockquote/form/p/input').click() 

    alert = driver.switch_to.alert() 

    alert.accept() 

except: 

    print 'Not disabled' 

enter image description here

+0

你的意思是你的控制權是去'except'塊嗎? –

回答

0

我是新來的自動化。如果焦點在OK按鈕上,您可以嘗試 SendKeys.SendWait(@「{ENTER}」); 這對我在c#工作。

0

嘗試帶有一些等待或睡眠的警報命令出現。如果它不工作,你可以嘗試模擬鍵。 JavascriptExecutor在這裏工作得很好。

在Java

JavascriptExecutor js=(JavascriptExecutor)driver; 
    js.executeScript("call function to accept"); 

感謝

+0

接受之前的睡眠命令不起作用。任何其他方式來處理? –

+0

然後用JavascriptExecutor嘗試 –

0

我意識到這是一個老帖子,但對於未來的參考,我會盡量回答這個問題。

alert = driver.switch_to.alert() 

上述代碼不正確。警報不是函數調用,而是一個變量。

alert = driver.switch_to.alert 

請注意下一個代碼是否缺少圓括號。這是正確的代碼。

相關問題