2016-10-21 10 views
0

現在、Webアプリケーション用のスクリプトをいくつか作成しています。私は現在、特定のボタンをピックアップしている。私はそれに数時間を費やしましたが、まだ運がありません。どんなアドバイスや指導も大歓迎です。私は下のソースコードと画像を加えました。Selenium - Java:特定の要素を選択するのに苦労します。

私の現在の失敗した試行:

chromeDriver.findElement(By.linkText("uploadfile")).click(); 
chromeDriver.findElement(By.xpath("html/body/div[9]/input")).click(); 
chromeDriver.findElement(By.xpath("//iput[@name='uploadfile']")).click 

div style="display: block; position: absolute; overflow: hidden; margin: 0px; padding: 0px; opacity: 0; direction: ltr; z-index: 16777270; left: 835px; top: 313px; width: 232px; height: 46px; visibility: hidden;"> 
<input name="uploadfile" style="position: absolute; right: 0px; margin: 0px; padding: 0px; font-size: 480px; font-family: sans-serif; cursor: pointer; height: 100%; z-index: 16777270;" type="file"> 

enter image description here

+1

我々はhtmlコードを必要としています。私たちと共有してください –

+0

あなたはどのバージョンのSeleniumを使用していますか?あなたの3番目の試みは "入力"であって "iput"ではないと仮定します。 @PotnuruRaviが言ったように、私たちはもう少しデータが必要です、選択している要素がスクリプトの結果としてDOMに追加されていますか?それは最初からありますか?それは見える? Seleniumは、要素が見つからない場合、その要素の位置を特定することに問題があるかもしれません。最悪の場合は、このコマンド(javascriptExecutor)chromeDriverでドライバからjavascriptを実行してみてください.executeScript() – Boaz

+1

最新の編集後、入力を含むdivは表示されません(スタイルvisibility:divのhiddenを参照)。セレンは目に見える要素で動作します。そのdivが表示されるのを待つか(あなたのフローのステップが欠落していますか?WebDriverWaitを使ってDOMへの変更を待っていませんか?)、以前のexecuteScriptメソッドを使用してdivを表示するようにしてくださいコメント。 – Boaz

答えて

0

このパスを使用します。 -

//input[@name='uploadfile' and @style='position: absolute; right: 0px; margin: 0px; padding: 0px; font-size: 480px; font-family: sans-serif; cursor: pointer; height: 100%; z-index: 16777270;'] 
関連する問題