如何按内容查找网格元素,而不是在selenium中查找网格数

时间:2017-01-31 14:57:08

标签: java selenium xpath grid

我有一个网站,其网格编号与显示的主键不匹配。 例如,由于基于权限的号码跳过,该键将告诉用户表中的元素是数字42,而它只是网格中的第30个元素。 基于主键选择的最佳方法是什么,而不是selenium中的网格数?

澄清: 说我的网格看起来像这样: 6 Ice Cream 11 Hot Dog 24 Cheeseburger 25 Double Cheeseburger 26 Salad

可以选择冰淇淋 driver.findElement(By.xpath("//*grid-0"); 热狗=网格-1 等...

通过其键(6)的内容选择冰淇淋的最佳方式是什么?

我可以使用

遍历整个网格
driver.findElement(By.xpath("//*grid-0")).getText().contains("6");

然后我有一个问题,就是找到一个带有6的元素而不仅仅是冰淇淋,我必须遍历整个页面才能找到它,这实在是效率低下。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

尝试这可能是有帮助的。

driver.findElement( By.xpath( "//*[contains(text(), '6 ')]" ) );

答案 1 :(得分:0)

我结束了以下事项: driver.findElement(By.linkText("regexp:.* 6 *")).click();

感谢Ravi MCA帮助我得出这个结论!

编辑:此解决方案仅适用于selenium IDE,显然是webdriver解释regexp:。作为文字。