按文本选择标签

本文关键字:标签 选择 文本 | 更新日期: 2023-09-27 18:20:29

我正在使用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;
                }
            }

但这不是选择。如何选择标签?

按文本选择标签

快速浏览一下,您似乎选择的是输入框,而不是标签,它的父项。

如果要选择父项。

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

driver.FindElement(By.PartialLinkText("mytext")).Click();