当前位置: 首页 > 知识库问答 >
问题:

Selenium验证复选框是否按文本选中

夹谷衡
2023-03-14

我得到了这个复选框列表,我想验证是否选中了特定的复选框,我不能使用复选框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输入和它的值,因为它是动态的,我唯一可以使用的是文本。

测试用例:

  1. 在chkList中创建新项目

共有1个答案

司马建柏
2023-03-14

您是否尝试过像这样使用XPath:

driver.FindElement(By.XPath("//ul[@id='chkList']/li[1]/span/input)).Selected;

您可以为检查列表的数量保留一个计数,并将该值与li[计数]元素一起使用。

 类似资料:
  • 问题内容: 我有一个复选框列表,其中至少一个是强制性的。我试图通过AngularJS验证来实现这一点,但是很难。下面是我的代码: 以下是plunker中的代码:http ://plnkr.co/edit/Bz9yhSoPYUNzFDpfASwt?p=preview 有没有人在AngularJS上做到这一点?使复选框成为必需,迫使我选择所有复选框值。AngularJS文档中也未记录此问题。 问题答案

  • 问题内容: 如何检查是否使用复选框数组的ID选中了复选框数组中的复选框? 我正在使用以下代码,但无论ID为何,它始终返回已选中复选框的数量。 问题答案: ID在您的文档中必须是唯一的,这意味着您 不应该这样 做: 而是放下ID,然后按名称或包含元素选择它们: 现在是jQuery:

  • 我正在寻找一些关于如何编写Xpath查询以验证特定复选框是否被选中的指导(嵌套在panel-body div中的div是复选框)。我试图做的是确保包含文本“evaluations”的相应标签的checkbox div包含类“Checked”。以下是我的HTML: 下面是我的XPath: 问题是,即使该框未选中,我的测试用例仍然通过,这表明我的xpath正在抓取其他元素。panel-body div

  • 我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja

  • 问题内容: 我正在Java中使用Selenium来测试Webapp中复选框的检查。这是代码: 我声明并将其分配给复选框所在的区域。 奇怪的是回报,因此 在复选框的HTML中,没有显示属性。但是,不是所有元素都有一个,这样的代码就可以工作吗? 问题答案: 如果您使用的是Webdriver,则正在寻找的项目已选中。 除非指定,否则通常在复选框呈现中实际上不会应用选中的属性。 所以您在Selenium

  • 我在XAML有一个组合框,写为 并且“”在ViewModel类中实现为 在这里设置之前,它会根据某些条件进行验证。我的目的是在验证失败时将组合框选择更改为先前的值。这不适用于组合框,但是此方法非常适用于CheckBox控件——下面给出的代码片段。 有什么方法可以让这个为ComboBox工作吗?任何替代实现也可以。