有没有办法在不使用 XPath 的情况下在 Codeception 验收测试中单击纯文本?

Is there a way to click plain text in Codeception acceptance tests without using XPath?

使用 Codeception 验收测试(使用 WebDriver),我想知道是否有一种方法可以单击包含特定文本的元素,而该元素不是 link 或按钮。我知道它可以使用 XPath 来完成,但我正在寻找一个更具可读性的解决方案,例如使用 CSS-选择器。

如果没有具体示例,您最好的办法可能是使用 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 是您唯一的选择。