我正在尝试对我公司的产品进行自动化测试。他们使用一种切换方式。我有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>
答案 0 :(得分:3)
假设页面上没有其他切换按钮,您可以检查是否存在data-toggle
属性:
//div[@data-toggle]
如果有其他切换按钮,您需要此特定的“电子邮件”切换:
//div[@data-toggle][input/@id = "OptInReceiveEmail"]