如何从复选框列表中提取标签文本?

时间:2017-04-12 14:31:37

标签: c# selenium selenium-webdriver

我正在进行一些硒测试并且正在检查以确保检查了正确的方框。

String curConfig2 = driver.FindElement(By.Id("MainContent_ConfigCheckBoxList_6")).GetAttribute("value");
Assert.AreEqual("RH7", curConfig2);

是我目前拥有的,但不幸的是价值和标签不一样。以下是有关此特定复选框的信息:

<td>
     <input id="MainContent_ConfigCheckBoxList_6" name="ctl00$MainContent$ConfigCheckBoxList$6" checked="checked" value="OS" type="checkbox">
     <label for="MainContent_ConfigCheckBoxList_6">RH7</label>
</td>

同样,我只想从复选框中提取值“RH7”。

1 个答案:

答案 0 :(得分:1)

您需要检查<input> checked属性,然后检查同级<label>文字

string locatorString = "MainContent_ConfigCheckBoxList_6";
string curConfig2 = driver.FindElement(By.Id(locatorString)).GetAttribute("checked");
string name = driver.FindElement(By.CssSelector("[for='" + locatorString + "']")).Text;

Assert.AreEqual(curConfig2, "checked");
Assert.AreEqual(name, "RH7");