0
使用Codeception验收测试(使用WebDriver)时,我想知道是否有方法单击包含特定文本的元素,而该元素不是链接或按钮。我知道它可以使用XPath完成,但我正在寻找一个更可读的解决方案,例如使用CSS选择器。有没有办法在不使用XPath的情况下在代码验收测试中单击纯文本?
使用Codeception验收测试(使用WebDriver)时,我想知道是否有方法单击包含特定文本的元素,而该元素不是链接或按钮。我知道它可以使用XPath完成,但我正在寻找一个更可读的解决方案,例如使用CSS选择器。有没有办法在不使用XPath的情况下在代码验收测试中单击纯文本?
没有具体的例子,可能最好的办法是使用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是您唯一的选择。
CSS选择器有一些限制:它无法比较HTML文本,因为无法获取父元素。所以,您需要使用XPath来比较文本。 –