我正在使用selenium,我想根据标签的文本选择一个标签。下面是我想要选择的html。
<div class="checkbox">
<fieldset>
<label><input type="checkbox" name="category" value="1"/> text1 </label>
<label><input type="checkbox" name="category" value="2"/> text2 </label>
</fieldset>
</div>
我试过了
IList<IWebElement> element = driver.FindElements(By.Name("category"));
foreach (IWebElement ele in element)
{
if (ele.Text.Contains(my text))
{
ele.Click();
break;
}
}
但它没有选择。如何选择标签?
答案 0 :(得分:0)
快速浏览一下,看起来你正在选择输入框,而不是标签,它的父母。
如果您想选择父母。
IList<IWebElement> element = driver.FindElements(By.Name("category"));
foreach (IWebElement e in element)
{
var parentLabel = e.FindElement(By.XPath(".."));
if (parentLabel.Text.Contains(my text))
{
parentLabel.Click();
break;
}
}
如果您想要点击输入框,请将parentLabel
替换为e
。
答案 1 :(得分:0)
driver.FindElement(By.PartialLinkText("mytext")).Click();