2

以下は私のセレンコードです

selenium.type("document.forms['UploadForm'].elements['browse']",file.getAbsolutePath());
selenium.click("document.forms['UploadForm'].elements['submit']");

複数のフォームがあり、プロパティが「broswe」の複数の参照ボタンと、プロパティがsubmitの複数の送信ボタンがあります。ファイルをアップロードする必要があるフォーム名、つまり「UploadForm」を使用してファイルをアップロードしているため、同じ様式で提出してください。

しかし、直面している問題は、ファイルをアップロードせずに、セレンが送信ボタンを押していることです。

以下はautoitスクリプトです

WinWaitActive("Choose File")
Send("C:\Work\selenium\PMG_SPRINT_AUTOMATION\pmg_automation\block_PTN.csv")   
Send("{ENTER}")

複数のセレンボタンがあるため、セレンクラスでこのコードを調整するにはどうすればよいですか

try {
  String[] commands = new String[]{};
  commands = new String[]{"C:\\Program Files\\AutoIt3\\attachDocScript.exe"}; //location of the autoit executable
  Runtime.getRuntime().exec(commands);
       }
  catch (IOException e) {}
4

3 に答える 3

0

正しいロジックのみを使用しています。ファイルをアップロードするには、ブラウズ エリアにコンテンツ (ファイルの絶対パス) をクリックせずに入力し、[送信] をクリックしてそのファイルをアップロードする必要があります。

複数の参照ボタンがある場合でも、インデックスまたは特定のロケーターを使用して特定のボタンを指定できます。

ここに画像の説明を入力

例えば:

selenium.type("//span[@id='attach1']/input","/home/test/file1.csv");
selenium.type("//span[@id='attach2']/input","/home/test/file2.csv");
selenium.type("//span[@id='attach3']/input","/home/test/file3.csv");
.
.
selenium.click("submit");
于 2012-10-17T14:57:51.960 に答える
0

Autoit.There を使用すると、ドキュメントをアップロードおよびダウンロードするためのスクリプトを非常に簡単に記述でき、必要に応じて Selenium コードでそれらのスクリプトを呼び出すことができます。

于 2012-10-17T10:38:00.823 に答える