2012-04-26 14 views
1

ファイルをアップロードする必要があります。 手順は次のとおりです。 1. cal modalウィンドウのボタンをクリックします。 (Linuxのウィンドウにはロケーションバーはありません) 2.正しいファイルを選択してアップロードします。モーダルウィンドウからファイルをアップロードする方法Selenium WebDriver Java

非常に助けていただきありがとうございます。 Chrome FirefoxのドライバとJavaを使用しています。

+0

あなたはhttp://stackoverflow.com/questions/5610256/file-upload-using-selenium-webdriver-and-javaを読んでいますか? –

答えて

3

これはseveral timesと尋ねられました。また、Selenium FAQもあります。 <input type='file' />要素である -

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

アイデアは、直接あなたが通常モーダルウィンドウを取得する時にクリックになる要素にファイルへのパスを送信することです。

+0

ありがとうございますが、私の場合はフリータイプの入力フィールドがありません。 –

+0

私はあなたがファイルをどのようにアップロードしたいのか分からないと思います。どこへ?どちらのボタン、どの技術、どのHTMLソースが持っていますか?公開されているページにありますか?最小のテストケースを投稿できますか?もっと具体的に言えば、私たちは本当に助けたいと思います。 –

+0

もう一度おねがいしますが、私はパスを追加できるフィールドを開発者に依頼してこの問題を解決します。 –

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を参照してください。

関連する問題