未选中的方框的一部分处理,其中选择状态被存储为类值
<input data-track-event="my_account" data-track-action="newsletter-unselect" data-track-data="Page[My Account]|<-vertical->|<-horizontal->|<-rel_vertical->|<-rel_horizontal->|Newsletters|Business - checkbox|Pos[3:8]|" type="checkbox" name="newsletters[]" id="f-newsletters-business" value="business" class="tick-a">
checkedBox
<input data-track-event="my_account" data-track-action="newsletter-unselect" data-track-data="Page[My Account]|<-vertical->|<-horizontal->|<-rel_vertical->|<-rel_horizontal->|Newsletters|Style - checkbox|Pos[5:8]|" type="checkbox" name="newsletters[]" id="f-newsletters-independent_woman" value="independent_woman" class="tick-a" checked="">
我的代码复选框
public void checkboxIsSelected(By by, String text) {
try {
String checkBoxClass = driver.findElement(by).getAttribute("class");
if (checkBoxClass.contains("tick-a checked")) {
log.log("CheckBox is already selected.... Move On.");
}
} catch (Exception e) {
log.log("CheckBox NOT checked... Pls Select to avail of: " + text);
driver.findElement(by).click();
log.log("CheckBox selected..... continue.");
}
}
请我需要检查复选框是否选中或不选中。基于我所做的研究,我发现有一些常见的Web应用程序jQueries非常类似于JavaScript库,其中选择状态作为类值的一部分存储......因此很难使用isSelected( )。尝试了所有可能的努力,但它的方法不是检查已经复选框还是抛出错误。 AM使用getAttribute()来获取类,并检查它是否包含定义的文本,但你可以看到,班里有一个预定义的文本(打勾-A)和变化((蜱一)检查)时,盒子检查。这是困难的一点。 将感激所提供的帮助。也检查了相关的主题,但没有任何帮助。
TANX响应。也许我做错了。 ABove是JavaScript片段。很明显,isSelected不会用于复选框,因为该值只能作为类值的一部分存储。现在的问题是,如何检查复选框是否被选中。而不是写一个别的东西,我把这部分添加到catch中。我应该删除try ctach并添加其他语句吗? – Joe
**改进型Code **'公共无效checkboxIsSelected(通过用,字符串文本)抛出异常{\t \t \t \t \t \t \t 布尔\t = isCheck driver.findElement(通过).isSelected(); \t \t \t如果(isCheck!){ \t \t \t \t log.log( “复选框未选中...请选择援用:” +文字); \t \t \t \t的Thread.sleep(2000); \t \t \t \t driver.findElement(通过)。单击(); \t \t \t \t log.log(“复选框选中.....继续。“); \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t}否则 \t \t \t { \t \t \t \t log.log(” 复选框已被选中....前进。 “); \t \t \t} \t \t \t}'**但是这段代码选择了未选中的复选框并取消选中已经选中的复选框。** – Joe