Selenium - 设置切换

时间:2015-10-28 17:50:51

标签: selenium xpath

我正在尝试对我公司的产品进行自动化测试。他们使用一种切换方式。我有HTML和下面的切换图像。我在https://stackoverflow.com/a/24682401/901083找到了一个看似正确的答案,产生了//div[@class='toggle btn btn-default off btn-sm']的XPath代码,但该div更改为" toggle btn btn-sm btn-primary"点击后,"切换btn btn-sm btn-default off"当它回来时再次。无论其设置如何,我如何一般性地引用该div?

HTML

<div style="width: 80px; height: 30px;" class="toggle btn btn-default off btn-sm" data-toggle="toggle">
    <input data-off="O" data-on="I" data-size="small" data-toggle="toggle" data-val="true" data-val-required="The OptInReceiveEmail field is required." 
        data-width="80px" id="OptInReceiveEmail" name="OptInReceiveEmail" tabindex="0" value="true" type="checkbox">
    <div class="toggle-group">
        <label class="btn btn-primary btn-sm toggle-on">I</label><label class="btn btn-default btn-sm active toggle-off">O</label>
        <span class="toggle-handle btn btn-default btn-sm"></span>
    </div>
</div>

图片
enter image description here

1 个答案:

答案 0 :(得分:3)

假设页面上没有其他切换按钮,您可以检查是否存在data-toggle属性:

//div[@data-toggle]

如果有其他切换按钮,您需要此特定的“电子邮件”切换:

//div[@data-toggle][input/@id = "OptInReceiveEmail"]