无法使用selenium选中复选框

时间:2016-03-11 23:39:29

标签: html selenium xpath

我有一个现成的代码,我正在尝试使用selenium为它编写测试。该代码包含两个或两个以上的复选框,格式如下:

1. <input type="checkbox" id="8933059checkitem0">

2. <input type="checkbox" id="8933059checkitem1">

....

我正在使用以下xpath表达式来获取最顶层的复选框:

"/html//div[@class='xyz']//input[@type='checkbox']"

即使在上面的xpath表达式之后放置'[1]'也没有结果。我正在寻找一个xpath表达式,我只能抓住第一个复选框。

提前致谢

1 个答案:

答案 0 :(得分:0)

在选择第一项之前尝试将表达式括起来:

(/html//div[@class='xyz']//input[@type='checkbox'])[1]

(//input[@type='checkbox'])[position()=1 and ancestor::div[@class='xyz']]

如果单独使用[1],在大多数情况下,它会抓住所有第一个孩子,而不是第一个孩子(如预期的那样)。

实际上,位置谓词经常被误解。他们不会选择与父母相关的项目,而是选择正在处理的序列中的项目。