0

セレンウェブドライバーコードを使用して画像をアップロードしたいのですが、誰かが同じことを手伝ってくれますか。アプリケーションで画像をアップロードする手順を説明します。

  1. 私のアプリケーションでは、「参照」ボタンが作成画面に表示されます。

  2. [参照]ボタンをクリックすると、ウィンドウページが表示されます。

  3. ウィンドウから画像を1つ選択して、[開く]をクリックする必要があります。

  4. 画像フィールドで選択された画像の名前でアプリケーションにリダイレクトされます。

  5. [画像]フィールドは編集できません(選択した画像の名前が使用されます)。

    セレンコードで参照ボタンをクリックできます。

ここに私の問題があります:ウィンドウ画面が開きますが、ファイアパスがないため、ウィンドウページで対話(画像を選択して開くボタンをクリック)できません。

誰かができるだけ早く解決策を手伝ってくれますか?

4

3 に答える 3

0

セレンの使用中にファイルアップロードウィンドウを処理するには、Autoitを使用します。以下の手順に従ってください。

1)Autoitをダウンロードしてインストールします。

2)次に、メモ帳に次のコードを記述します。以下のコードのファイルパスを、Seleniumスクリプトからアップロードしようとしているファイルパスに変更します。として保存しますuploadhandler.au3。拡張子はau3である必要があることに注意してください。

WinActivate("Choose file");
Local $file = "c:\yourpath\howtoupload.doc"
ControlSetText("Choose file", "", "Edit1", $file )
ControlClick("Choose file", "", "Button2")

3)保存したスクリプトファイルを右クリックし、コンテキストメニューから[スクリプトのコンパイル]をクリックします。これによりファイルが生成されuploadhandler.exeます。

4)このuploadhandler.exeファイルをローカルドライブに配置し、以下のコードを使用してファイルをアップロードする必要がある場合は、selenium-javaコードでこのexeファイルを実行します。

Process proc = Runtime.getRuntime().exec("C:\\path for your exe file\\uploadhandler.exe");

元:-

driver.findelement(byid("browse")).click();
Process proc = Runtime.getRuntime().exec("C:\\path for your exe file\\uploadhandler.exe");
//rest of your selenium code continues here.
于 2013-03-26T13:48:23.770 に答える
0

このブログ投稿を見てください、それは私を助けました。

リモートWebDriverでのファイルのアップロード

ローカルまたはリモートの両方のWebドライバーを使用して動作します。現在、Chrome、IE、Firefoxで動作しています。Safariドライバーでは動作しないと思います。

于 2013-03-27T13:01:16.630 に答える
0

これを試して :

driver.findElement(By.id("btn_Browse")).click(); 
driver.findElement(By.id("logo")).sendKeys("c:\\ Image.jpg");
于 2013-10-28T13:32:13.827 に答える