Selenium中的条件运算

时间:2017-02-13 12:34:19

标签: java selenium xpath selenium-webdriver

我使用以下代码查找某个元素并使用以下XPath提取它。但在某些页面中它们不可用。

我该怎么办?

仅供参考以下代码失败。

String founded=driver.findElement(By.xpath("//*[contains(text(),'Founded')]//following::dd[1]")).getText();
if(founded.isEmpty())
{
    founded="NA";
    System.out.println(founded);
}

1 个答案:

答案 0 :(得分:0)

您应该尝试使用WebElement.findElements()而不是返回WebElement列表或空列表。所以只需检查下面的空列表: -

String founded = "";

List<WebElement> list = driver.findElements(By.xpath("//*[contains(text(),'Founded')]//following::dd[1]"));

if(list.isEmpty() || list.get(0).getText() == null || list.get(0).getText().isEmpty())
 {
   founded = "NA";
 }else {
   founded = list.get(0).getText();
 }    
 System.out.println(founded);