复选框:具有自定义jquery插件的网站的Selenium自动化

时间:2017-05-17 04:02:51

标签: javascript jquery html selenium checkbox

我正在使用带有JavaScript的Selenium WebDriver来自动化一些带有自定义jquery插件的网站测试,以使表单全部变得非常好。叫" jcf" - JavaScript自定义表单https://www.psd2html.com/js-custom-forms/

我正在尝试编写一个方法,检查是否选中了复选框,然后选中或取消选中。

我创建了一个导致

的xpath

我试过了:

if (element.isSelected){
    element.click
 }

并且

boolean checked = button.getState();
if (button.getState()){
.click 

所有发生的事情都是点击按钮,无论其状态如何。

还有其他办法吗?任何帮助将不胜感激

这是整个可点击框元素的DOM,其中包含一个复选框

<li class="dashboard-product-list active" data-id="5" data-position="2"      data-has-batch="t" data-has-search-term-group="" data-has-shelf-page="">
    <input class="multi-product-list-checkbox checkbox jcf-hidden" type="checkbox"/>
    <span class="jcf-checkbox jcf-checked">
        <span/>
    </span>
    <span class="dashboard-product-list-info">
        <span class="product-list-name">Food 20</span>
        <span class="pl-details-ico pull-right has-tooltip-ico" data-pl-id="5" data-tooltip="View product list" data-hasqtip="2"/>
        <span class="product-list-retailer-name">Walmart.com</span>
    </span>
</li>

1 个答案:

答案 0 :(得分:0)

正如您提到的jQuery标记,您可以使用以下代码检查是否选中了复选框:

 $("li.dashboard-product-list").each(function(){
    if($(this).find(".multi-product-list-checkbox").is(":checked")){
        //YOUR CODE GOES HERE
    }
});