2016-11-08 95 views
-3

我自動化一個網站它包含一個「提交」按鈕,它打開一個對話框。在那個對話框中,我必須點擊「更新」按鈕。但是當代碼點擊「提交」按鈕時,我的代碼的下一行沒有執行,也沒有移動到打開對話框。 我嘗試過窗口句柄,切換到警告方法,但它不工作。有誰能解決我的問題嗎?如何處理對話框包含關閉按鈕只使用Selenium與Java

+1

請分享您的代碼 – fabersky

+1

請花一些時間來閱讀幫助頁面,尤其是命名爲部分[「可我在這裏大概問什麼題目?」(http://stackoverflow.com/help/on-主題)和[「我應該避免問什麼類型的問題?」](http://stackoverflow.com/help/dont-ask)。更重要的是,請閱讀[Stack Overflow問題清單](http://meta.stackexchange.com/q/156810/204922)。您可能還想了解[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – hering

+0

一旦第一個按鈕被點擊我的代碼甚至不執行System.out.println(「」);直到我手動關閉對話框。 –

回答

0

我不確定你可以用硒來達到這個目的,因爲這是一個安全問題。但是,在單擊就可以調用AutoIt exe文件,將找到的按鈕,單擊它:

ControlClick($CmdLine[1], $CmdLine[2], $CmdLine[3]); 
//ControlClick ("title", "text", controlID [, button = "left" [, clicks = 1 [, x [, y]]]]) 

另一種選擇是使用「機器人」類Java和發送鍵,如一旦它集中進入的警報,例如

import java.awt.Robot; 
import java.awt.event.KeyEvent; 

public void pressEnter(){ 

    Robot robot = null; 
    try { 
     robot = new Robot(); 
    } catch (AWTException e) { 
     logger.info("Could not create new Robot"); 
     e.printStackTrace(); 
    } 

    robot.keyPress(KeyEvent.VK_ENTER); 
    robot.keyRelease(KeyEvent.VK_ENTER); 

} 
相關問題