3

webdriver を使用してファイルのアップロードを自動化しようとしています。私の HTML はファイル タイプです。

firebug を使用して ID を取得しましたが、テキストボックスとボタンでも同じです。

このコマンド getWebDriverObj().findElement(By.id("fileupload")).sendKeys("code.txt"); を使用して 結果を取得できません。

このような状況に直面した人はいますか? もしそうなら、私を助けてください。

ありがとうラグラム。

4

2 に答える 2

1

Auto は Windows 固有のみです。

より堅牢なソリューションを次に示します。

このために、実際の入力ボックス (ファイルのパスが提供されている場所) の「id」を見つけて、次のコマンドを使用します。

driver.findElement(By.id("upload")).sendKeys("/path/to/the/file");
driver.findElement(By.id("upload_button")).click();

WebDriverBackedSelenium を使用している場合は、次を使用できます。

selenium.type("locator", "/path/to/the/file");

selenium.click("upload_button");
于 2012-05-04T17:32:40.160 に答える
0

前の方法が機能しない場合次のチェーンを試すことができます。1.クリックボタンでファイル選択ダイアログを呼び出します(webdriverメソッドclick()またはjavascript "document.getElementById('id')。click()"を使用します。2。Autoit(または別の何か)に制御を送信すると、AutoItはFileで動作しますダイアログを選択します(ファイルにアドレスを入力し、ボタンをクリックします)例:

        var Autoit = new AutoItX3();
        const string widowTitle = "File Upload";
        Autoit.WinWait(widowTitle, "File &name:", 10);
        Autoit.ControlSetText(widowTitle, "", "[CLASS:Edit; INSTANCE:1]", pathToFile);
        Autoit.ControlClick(widowTitle, "", "[CLASS:Button; INSTANCE:1]");
        Autoit.WinWaitClose(widowTitle, "File &name:", 10);

javaとAutoItのセットアップhttp://code.google.com/p/autoitx4java/

于 2012-05-04T15:11:48.557 に答える