0

だから、ここに2つのdivがあります

<div class="th_pr"><input id="user_email" class="accounts_input" type="text" size="30" placeholder="Email" name="user[email]"></input><p class="accounts_error_text" style="display: block;">
  email is invalid
</p></div>
<div class="th_pr"><input id="user_password" class="accounts_input" type="password" size="30" placeholder="Password" name="user[password]" autocomplete="off"></input><p class="accounts_error_text" style="display: block;">
  password can't be blank
</p></div>

入力によって異なるため、「メールが無効です」と「パスワードを空白にすることはできません」というテキストを含む要素をテキストで取得する必要があります。

私は xpath を使用してこれを完了しようとしています:

By.xpath("//p[contains(.,'email is invalid')]")

By.xpath("//p[contains(.,'password be blank')]")

しかし、私は何も得ません。

resultEmail = ExpectedConditions.invisibilityOfElementLocated(By.xpath("//p[contains(.,'email is invalid')]")).apply(driver);

要素は表示されていますが、true を返します。

助けてください。

4

3 に答える 3

1

xpathを試す

//input[@id='user_email']/following-sibling::p
//input[@id='user_password']/following-sibling::p

次に、あなたは持っています

WebElement emailParagraph = driver.findElement(By.xpath("//input[@id='user_email']/following-sibling::p"));
System.out.println(emailParagraph.getText());
于 2013-08-07T07:28:09.183 に答える