2016-06-21 6 views
0

Codeception受け入れテスト(WebDriver)を使用して、特定のテキストを含む要素をリンクまたはボタンなしでクリックする方法があるかどうかを知りたいと思います。私はそれがXPathを使用して行うことができますが、私はCSSのセレクタを使用してより読みやすいソリューションを探しています。XPathを使用しないでCodeception受け入れテストでプレーンテキストをクリックする方法はありますか?

+1

CSSセレクタにはいくつかの制限があります。親要素を取得できないHTMLテキストは比較できません。したがって、テキストを比較するにはXPathを使用する必要があります。 –

答えて

0

特定の例がない場合は、CSSセレクタを使用して要素のグループを検索し、そのコレクションをループして含まれているテキストを探してください。ここでは、 "ここをクリック"というテキストが含まれている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が唯一のオプションです。

関連する問題