2012-04-26 306 views
1

我需要上傳文件。 步驟如下: 1.點擊按鈕的哪個Cal模式窗口。 (Linux窗口沒有位置欄) 2.選擇正確的文件並上傳它。如何處理從模態窗口上傳文件Selenium WebDriver Java

非常感謝任何幫助。 使用Chrome Firefox驅動程序和Java。

+0

你讀過http://stackoverflow.com/questions/5610256/file-upload-using-selenium-webdriver-and-java? – 2012-04-27 20:25:21

回答

3

這已被要求several times,也在一些Selenium常見問題。

// assuming driver is a well instantiated WebDriver 
WebElement fileInput = driver.findElement(By.xpath("//input[@type='file']")); 
fileInput.sendKeys("C:/path/to/file.jpg"); 

的想法是直接發送的文件路徑到你通常在按拿模態窗口中的元素 - 這是<input type='file' />元素。

+0

謝謝,但在我的情況下,我沒有免費的輸入字段。 – 2012-05-04 11:29:27

+0

我想,比我不確定你想如何上傳文件。去哪兒?哪個按鈕,什麼技術,它有什麼html源代碼?它在一些公開顯示的頁面上嗎?你能發佈一個最小的測試用例嗎?請更具體地說,我們真的很樂意幫忙。 – 2012-05-04 11:41:35

+0

再次感謝,但我通過要求開發人員創建可以添加路徑的字段來傳遞此問題。 – 2012-05-04 16:48:25

0

我找到解決辦法與Robot class

這裏是代碼:

try { 
    Robot robot = new Robot(); 

    robot.delay(3000); 
    robot.keyPress(KeyEvent.VK_P);  
    robot.keyRelease(KeyEvent.VK_P); 
    robot.keyPress(KeyEvent.VK_ENTER); 
    robot.keyRelease(KeyEvent.VK_ENTER); 
    } catch (AWTException e) { 
    e.printStackTrace(); 

    } 
0

對於模態窗口,我更喜歡使用的AutoIt硒,AutoIt的是一個重量很輕的應用程序,可以創建腳本,並編譯成做一個EXE文件,並在您的硒運行EXE文件,

欲瞭解更多信息,請參閱here

相關問題