我收到了这个复选框列表,我想验证是否选中了特定的复选框,我不能使用复选框ID但只能使用文本,但它就像这样。
<ul id="chkList">
<li>
<span>
<input id="CheckBox_1" type="checkbox" value="1" checked="checked" />
<label for="CheckBox_1">Cat</label>
</span>
</li>
<li>
<span>
<input id="CheckBox_2" type="checkbox" value="20" />
<label for="CheckBox_2">Dog</label>
</span>
</li>
<li>
<span>
<input id="CheckBox_2" type="checkbox" value="22" />
<label for="CheckBox_2">Alley</label>
</span>
</li>
</ul>
我想做点什么
driver.FindElement(By.XPath("//ul[@id='chkList']/li/span/label[./text()='Cat'])).Selected;
但我当然不能这样做,因为xpath选择标签而不是输入。我正在考虑使用for
标签来查找输入的id。但是我该怎么做呢?
我无法使用id
作为输入及其值,因为它是动态的,我唯一可以使用的是Text。
测试用例:
答案 0 :(得分:0)
您是否尝试过像这样的XPath:
driver.FindElement(By.XPath("//ul[@id='chkList']/li[1]/span/input)).Selected;
您可以为清单数量保留一个计数,并将该值与li [count]元素一起使用。