2017-02-21 61 views
-1

我必須找到一個特定的文本,我只能使用span標籤下的className。不幸的是,className對於其他各種span標籤很常見。如果我嘗試使用className找到text,則很有可能只有第一次出現的span tag ---> className將被註冊。硒保持檢查,直到找到文本

有沒有什麼辦法可以檢查整個頁面直到className--->text的最後一行?我不能使用findElements()方法。這樣做會涉及到代碼的很多變化,而且這只是一次性的事情,所以我不想經歷所有的麻煩。

+0

請分享您想要查找的元素的相關HTML代碼塊。我們可以使用'Xpath'或'cssSelectors'從'它的父母或孩子或兄弟姐妹'中找到一個元素。 –

+1

分享你的'HTML' –

+0

[xpath:我們如何只選擇最後一個文本節點?]的可能重複(http://stackoverflow.com/questions/10098593/xpath-how-do-we-select-just-在-非常-最後文本節點) – Madhan

回答

1

我使用以下方法使用文本查找元素。如果這不適合你,你可以通過引用Madhan提出的建議來創建類似的方法。

public WebElement findElementByText(String text){ 
    return driver.findElement(By.xpath("//*[contains(text(),'"+text+"')]")); 
} 

public WebElement findElementByText(String text, boolean exactMatch){ 
    if (exactMatch){ 
     return driver.findElement(By.xpath("//*[text()='" + text + "']")); 
    }else{ 
     return findElementByText(text); 
    } 
}