2016-07-11 7 views
1

私はクラスを使用して入力値を取得する方法は?

WebElement inputele = driver.findElement(By.className("class_name")); 
String inputeleval = inputele.getAttribute("value"); 
System.out.println(inputeleval); 

以下のコードを使用していますが、値はemptyです。 HTMLは以下の通りです。

<div id="main"> 
    <div id="hiddenresult"> 
     <div class="tech-blog-list"> 
     <label for="Question">1st Question</label> 
     <input id="txt60" class="form-control" type="text" value="sddf sd sdfsdf sdf sdfsdf sdfsdfsd fsd" /> 
     </div> 
    </div> 
    <div class="pagination_main pull-left"> 
     <div id="Pagination"> 
     <div class="pagination"> 
      <a class="previous" onclick="PreviousBtnClickEvent();" href="javascript:void(0)">Previous</a> 
      <a id="pg59" class="ep" onclick="PaginationBtnClickEvent(this);" href="javascript:void(0)" name="Textbox">1</a> 
      <a id="pg41" class="ep" onclick="PaginationBtnClickEvent(this);" href="javascript:void(0)" name="Textbox">2</a> 
      <a id="pg40" class="ep" onclick="PaginationBtnClickEvent(this);" href="javascript:void(0)" name="Textarea">3</a> 
      <a id="pg60" class="ep current" onclick="PaginationBtnClickEvent(this);" href="javascript:void(0)" name="Textbox">4</a> 
     </div> 
     </div> 
    </div> 
</div> 
+1

HTMLを投稿する場合は、http://www.cleancss.com/html-beautify/のようなWebサイトを使用して美しくするために、1分ほどかかります。それは読みやすく、子どもなどを見ている人々を調査するのに役立ちます。 – JeffC

答えて

0

要素が完全にページにロードされ、以下のように見えるまで待機するWebDriverWaitを使用してみてください: -

WebDriverWait wait = new WebDriverWait(driver, 10); 

WebElement inputele= wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("class_name"))); 
String inputeleval = inputele.getAttribute("value"); 
System.out.println(inputeleval); 

: - By.className("class_name")class_nameに等しい属性クラス、その要素を提供します。探したい要素が、クラス属性がclass_nameの一意の要素であることを確認します。そうでない場合は、条件trueの最初の要素が得られます。

は、それが動作しますホープ.. :)あなたのコードは非常に近いですが、あなたは間違ったクラス名を持っているよう

+0

** WebElement inputele = wait.until(ExpectedConditions.visibilityOfElementLocated(by className( "class_name"))); ** 行が失敗しました –

+0

@ Vidya何が失敗したのですか?..何か例外はありますか? –

+0

私はこのコードを "for looping"という概念で使用しています。xpathとidを使用していますが、velueは表示されていますが、idは異なります(pg100、pg50、pg49 ---- pgzなど)。クラス名 ? –

0

が見えますか?上のコードでは、 "form-control"の代わりに "class_name"があります。私はあなたが使用している実際のコードではなく、いくつかのサンプルコードであると仮定していますか? HTMLにはINPUTが1つしかないので、以下のコードが有効です。また、ページにINPUTが複数ある場合に、より具体的になるように、IDを持っています。

WebElement inputele= driver.findElement(By.className("form-control")); 
String inputeleval = inputele.getAttribute("value"); 
System.out.println(inputeleval); 
関連する問題