2017-05-13 45 views
0

私はSelenium Webdriverを介してファイルのアップロードを自動化しようとしています。Webdriverでファイルをアップロード:sendKeys()の後に何も起こりません

私はstackoverflowの上でこのテーマに多くの質問を読み、そこに与えられたすべてのヒントを使用して、私のコードは、実際にテストページに取り組んできました:https://demo.vaadin.com/sampler/#ui/data-input/other/upload

しかし、私はそれが私の上で作業することはできません本当のプロジェクト。すべての まず - 私の入力フィールドが見えないので、私はそれが見えるように:私は、フィールドが実際に目に見えるようになっていることを確認

js.executeScript("arguments[0].setAttribute('style', arguments[1])",element, "opacity:100; width:50px"); 

。 私はのSendKeys()メソッドを介してファイルへの絶対パスを送っていたより:私は、フィールドの値をチェックしようとすると、

Path path = Paths.get(value); 
Path absolutePath = path.toAbsolutePath(); 
sendKeys(absolutePath.toString()); 

をしかし:

String v=elem.getAttribute("value"); 

それは常に空です。

ファイルへの不正なパスを送信しようとしましたが、このコードでは絶対パスではないので、実際に何かを入力フィールドに送信しようとしています。

私はテストの下でウェブページのコードと関係があると思いますが、私は問題を割り当てるための十分な知識がありません。

<input type="file" data-bind="attr: {id: uid, name: inputName, multiple: isMultipleFiles}, disable: disabled, afterRender: onElementRender"> 

答えて

0

SendKeys.SendWait(@"D:\filename"); 

SendKeys.SendWait(@"{Enter}"); 

は、名前空間に"using System.Windows.Forms;"を追加コードはC#で私のために働いた後
が参考

0
"System.Windows.Form"を追加します:input要素の

HTMLコードは以下のとおりです。

これは、ファイルへのパスが無効であるためです。ていることを確認してください:

  • パスは、ファイルが
  • 読めるパスが絶対パス
  • 相対完全ではなく、存在している
  • 正しいです(含まれていません。)
  • あなたのスラッシュは、OSの正しい方向をintにしています(いくつかのブラウザは気にしますが、いくつかは気にしません)。

私はこの機能が静かに私のために働いていないことがわかりましたintr a ..を経路に誘導した。

関連する問題