我有一个包含四列和不断增加的行数的表。每次测试时,我都需要在最后一行应用测试,我不知道它的XPath,因为当我第一次编写测试时它不存在。
我需要的XPath就像:
//*[@id="example"]/div/table/tbody/tr[X]/td[4]/a[1]
变量X
。
有没有办法废弃X
值并选择最大值,或类似的东西?
答案 0 :(得分:2)
最简单的解决方案可能是
all(:xpath, '//*[@id="example"]/div/table/tbody/tr/td[4]/a[1]', minimum: 1).last
或
all('#example div table tr td:nth-of-type(4) a:first-of-type', minimum: 1).last
注意:minimum: 1
强制#all
使用Capybaras等待行为等待至少1个匹配元素,例如#find
通常
答案 1 :(得分:1)
您可以使用:
//*[@id="example"]/div/table/tbody/tr[last()]/td[4]/a[1]
这将根据需要从最后一个表行的第四个td
元素中选择第一个锚标记。