テキストフィールドの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']"));
コマンドを参照しています。
? – ndtreviv
そうですね。既にそれを試しましたが、何らかの理由でWebElementを使用すると、スクリプトからNoSuchElementFound例外がスローされます。自分のコードで投稿を編集します。 – Uziii
ああ、質問を正しく読まなかった。これは入力フィールドであり、その中にTextNodeを持つ要素ではありません。私はKarthikがあなたの答えをそこに持っていると思います。 – ndtreviv