Java 正在尝试检查是否选中了单选按钮
我试图检查网站上的单选按钮是否被选中,但它总是显示falseJava 正在尝试检查是否选中了单选按钮,java,selenium,xpath,selenium-webdriver,Java,Selenium,Xpath,Selenium Webdriver,我试图检查网站上的单选按钮是否被选中,但它总是显示false public static void cBoxRbtnDd () throws Exception{ driverGlobal.get("http://www.makemytrip.com/"); driverGlobal.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); String rdBtn = ".//*[@id='one_way_bu
public static void cBoxRbtnDd () throws Exception{
driverGlobal.get("http://www.makemytrip.com/");
driverGlobal.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
String rdBtn = ".//*[@id='one_way_button1']/span";
boolean att = driverGlobal.findElement(By.xpath(rdBtn)).isSelected();
System.out.println(att);
driverGlobal.findElement(By.xpath(rdBtn)).click();
WebElement radioBtn = driverGlobal.findElement(By.xpath(rdBtn));
new WebDriverWait(driverGlobal,10).until(ExpectedConditions.visibilityOf(radioBtn));
boolean att1 = driverGlobal.findElement(By.xpath(rdBtn)).isSelected();
System.out.println(att1);
}
单选按钮通常使用属性为
type=“Radio”
的
创建。如果您注意到站点上的单选按钮,它们实际上是在使用
标记和DOM操作来创建单选按钮
选择单选按钮的效果由CSS完成。请注意,所选单选按钮的类处于活动状态
。因此,您需要检查类是否包含值active
,以了解它是否已被选中
您可以使用下面给出的代码段:
public boolean ifActive(WebElement element) {
String classes = element.getAttribute("class");
return classes.contains("active");
}
ifActive(driverGlobal.findElement(By.id("one_way_button1"))); //false
ifActive(driverGlobal.findElement(By.id("round_trip_button1"))); //true
ifActive(driverGlobal.findElement(By.id("multi_city_button"))); //false
注释中的值是函数将返回的值。请注意,makemyrtip.com最初默认选择往返单选按钮。亲爱的Jason Estibeiro谢谢您的回答。我会尽力让你知道的。再次感谢您的时间。@Selenium帮助-太棒了!一定要打绿色的勾。