2016-06-21 63 views
0

使用Codeception驗收測試(使用WebDriver)時,我想知道是否有方法單擊包含特定文本的元素,而該元素不是鏈接或按鈕。我知道它可以使用XPath完成,但我正在尋找一個更可讀的解決方案,例如使用CSS選擇器。有沒有辦法在不使用XPath的情況下在代碼驗收測試中單擊純文本?

+1

CSS選擇器有一些限制:它無法比較HTML文本,因爲無法獲取父元素。所以,您需要使用XPath來比較文本。 –

回答

0

沒有具體的例子,可能最好的辦法是使用CSS選擇器查找一組元素,然後遍歷該集合尋找包含的文本。這是一個人爲的例子,我正在尋找一個包含文本「Click here」的TD。

List<WebElement> cells = driver.findElements(By.cssSelector("td.someclass")); 
for (WebElement cell : cells) 
{ 
    if (cell.getText().contains("Click here")) 
    { 
     cell.click(); 
     break; // found it, don't need to keep looping 
    } 
} 

如果您想讓您的搜索查找文本,那麼XPath是您唯一的選擇。

相關問題