首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用xpath找不到元素

使用xpath找不到元素
EN

Stack Overflow用户
提问于 2013-08-07 07:08:52
回答 3查看 7.3K关注 0票数 0

这里有两个div

代码语言:javascript
复制
<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来完成这个任务:

代码语言:javascript
复制
By.xpath("//p[contains(.,'email is invalid')]")

代码语言:javascript
复制
By.xpath("//p[contains(.,'password be blank')]")

但我什么都没得到。

代码语言:javascript
复制
resultEmail = ExpectedConditions.invisibilityOfElementLocated(By.xpath("//p[contains(.,'email is invalid')]")).apply(driver);

返回true,尽管元素是可见的。

请帮帮忙。

EN

Stack Overflow用户

发布于 2013-08-07 07:55:04

请试试这个:

代码语言:javascript
复制
WebElement userEmailErrorMessage = driver.findElement(By.cssSelector("div[class=\"th_pr\"]:nth-child(1) > p"));

WebElement userPasswordErrorMessage = driver.findElement(By.cssSelector("div[class=\"th_pr\"]:nth-child(2) > p"));

使用这些元素,您将能够读取相应输入控件的错误消息。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18096835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档