2017-07-27 94 views
-1

我需要获取标题标题的xpath,该标题只能在“检查元素”选项卡中提供类和文本本身。如何在Java Selenium Webdriver中使用Java查找标题标题的xpath

目标是有一个if语句来检查页面的标题是否与我预期的标题匹配,以便我可以运行将命令Selenium的代码。我之所以不使用“通过linkText查找网页元素”是因为标题的实际内容可以在各种页面中查看。因此,我的代码总是会运行,因为文本总是存在。我也不能仅仅使用这个类,因为每个页面的类名是相同的。

我需要它是具体的头本身使用的类名和文本。

我试过 if(driver.findElements(By.xpath("//*[@class='className' and contains (text(),'headerText')]")) !=null)但即使标题文本不匹配,它仍会继续运行。我相信这将是因为技术上这个班同时还有文本本身,尽管它们是不同的元素。

+1

您是否会提供一个包含应该匹配的元素的HTML示例? –

+0

国际海事组织,你正在混合两个不同的项目/元素。它可以是“页面标题”或“页面标题”。我不确定'标题标题'是否有意义。 – DebanjanB

+0

@DebanjanB对不起,我的意思只是表示页面标题。 – gotj

回答

0

两个可能的点有:

  1. driver.findElements(..)永远不会为空。如果找不到匹配的元素,它将返回一个空集合。因此,使用driver.findElements(..).isEmpty()来处理没有发现任何东西时的情况
  2. 如果仍未找到任何元素,请尝试使用contains(.,'headerText')而不是contains(text(),'headerText')。当您的标题文本元素包含一些子标记/格式标记时,第一个选项将起作用。
+0

我试了你的第二个选项,并创造奇迹,非常感谢你! – gotj

相关问题