2016-05-31 5 views
0

テキストフィールドのHTMLを考えてみましょう。テキストフィールド内のテキストを取得する方法

<input id="employeeId" class="formInputText" type="text" value="0013" name="employeeId" maxlength="10"/> 

私は、テキストボックスのvalue=""属性内の値を取得し、文字列変数に格納します。

ように私は、テキストフィールドのXPathを構築している:私は、コードを次している

//input[@id='employeeId'] 

driver.findElement(Btn_Save).click(); 

boolean mandatory_firstName = (first_Name != null && !first_Name.isEmpty() && !first_Name.trim().isEmpty()); 
boolean mandatory_lastName = (last_Name != null && !last_Name.isEmpty() && !last_Name.trim().isEmpty()); 
boolean mandatory_userName = (user_Name != null && !user_Name.isEmpty() && !user_Name.trim().isEmpty()); 
boolean mandatory_Password = (Pass != null && !Pass.isEmpty() && !Pass.trim().isEmpty()); 
boolean mandatory_ConfPass = (Confirm_Pass != null && !Confirm_Pass.isEmpty() && !Confirm_Pass.trim().isEmpty()); 

if((mandatory_firstName && mandatory_lastName && mandatory_userName && mandatory_Password && mandatory_ConfPass) == false) 
    { 
     Assert.fail("Error: One of the mandatory fields is missing text. \n"); 
    } 

else 
    { 
     boolean PassConfirmation = (Pass.equals(Confirm_Pass)); 
     if(PassConfirmation == false) 
     { 
      Assert.fail("Error: Password and Confirm Password did not match. Run Test again with same passwords. \n"); 
     } 
     else 
     { 
      WebElement employeeID = driver.findElement(By.xpath("//input[@id='employeeId']")); 
      String empID = employeeID.getText(); 
      System.out.println("ID is: "+empID); 
     } 
    } 

コードのこの作品は、保存ボタンをクリックすると起動します。その後、必須フィールドとパスワードを確認し、パスワードを確認します。 同じページに、従業員IDのテキストフィールドがあり、事前設定された値が含まれています。私はその価値を抽出したい。私はフィールドとgetText()のwebelementを作ろうとしましたが、スクリプトを実行すると、NOSuchElementFound例外とスタックトレースが表示され、WebElement employeeID = driver.findElement(By.xpath("//input[@id='employeeId']"));コマンドを参照しています。

+0

? – ndtreviv

+0

そうですね。既にそれを試しましたが、何らかの理由でWebElementを使用すると、スクリプトからNoSuchElementFound例外がスローされます。自分のコードで投稿を編集します。 – Uziii

+0

ああ、質問を正しく読まなかった。これは入力フィールドであり、その中にTextNodeを持つ要素ではありません。私はKarthikがあなたの答えをそこに持っていると思います。 – ndtreviv

答えて

0

は、以下のコードを使用します。希望はこれが

2

は、目的の属性を取得します。ここでは、WebElementの属性の値を取得することができます方法です -

String empID = driver.findElement(By.id("employeeId")).getAttribute("value"); 

あなたは整数形式でEMPIDを利用したい場合は、コードの下に使用 - あなたが入力フィールドを表しWebElementを持っていたら、ちょうどそれにのgetText()を呼び出し、

int empIDval = Integer.parseInt(empID); 
0

を助け

String valAttr = driver.findElement(By.id("employeeId")).getAttribute("value"); 

以下のように

String value = driver.findElement(By.id("employeeId")).getCssValue("value"); 
関連する問題