以下是我的方法,其中tableComponent
是表体元素。
当文本在一行中可见时,此方法可以正常工作,但如果该行具有滚动且文本不在视图端口,则该方法将失败。
我也尝试了CSS
,运气不错......
如果我使用scroltoview
选项,我可以得到文本,但这是一种引导,要滚动到元素,我需要找到正确的行和列,并找到行和列,我只知道它可能出现在那个单元格中的文本。
这是Java,Selenium webdriver
public IUIElement getRowContainingText(final String text) {
return tableComponentElement.findUIElement(By
.xpath(".//tr[*[self::td|self::th]//text()[contains(.,\"" + text + "\")]]"));
}
答案 0 :(得分:0)
替代解决方案 -
List<webElement>rows=tableComponentElement.findElements(By.tagnamr("tr"));
for(webElement element:rows)
{
List<String>tabledata=rows.findElements(By.tagName("td"));
String desiredText=tableData.get(index);
//index will be the postion where text will appear in each row
}