Selenium webdriver 方法';getValue';获取webdriver中复选框/单选按钮/文本框的值
我正在java中实现一个方法“getValue”(需要的返回类型是String),以使用webdriver获取复选框/radioButton/文本框的值,如下所示:Selenium webdriver 方法';getValue';获取webdriver中复选框/单选按钮/文本框的值,selenium-webdriver,Selenium Webdriver,我正在java中实现一个方法“getValue”(需要的返回类型是String),以使用webdriver获取复选框/radioButton/文本框的值,如下所示: try { element=driver.findElement(By.xpath(target)); BoolResult = element.isSelected(); if(BoolResult==true) { result="
try {
element=driver.findElement(By.xpath(target));
BoolResult = element.isSelected();
if(BoolResult==true) {
result="Radio Button/textbox Selected";
return result;
} else if(BoolResult==false){
result="Radio Button/textbox Not Selected";
return result;
} else {
}
} catch(Exception e2) {
}
try {
element=driver.findElement(By.xpath(target));
result = element.getAttribute("value");
log.info("The value of the target is : " + result);
} catch (Exception e) {
log.debug(e);
return result;
}
对于单选按钮,上面的操作很好,但是对于TextBox,它将转到BoolResult==false条件并说“RadioButton/TextBox未选中”,而我希望它转到下一个try块并执行“element.getAttribute(“value”)”
有人能帮忙吗?您需要确定元素是复选框还是文本框。您应该使用更具体的XPath,以便在达到这一点之前知道您正在处理的是什么,但无论如何,这应该是可行的(尽管未经测试):
这很好用。我在这里发现的新点是通过使用'element.getAttribute(“type”)'确定元素是否为checkbox/radio/textbox。这使我的任务变得容易。。谢谢..太好了,很乐意帮忙:)
element=driver.findElement(By.xpath(target));
string type = element.getAttribute("type");
if (type.equals("checkbox") {
if(element.isSelected()) {
result="Radio Button/textbox Selected";
} else {
result="Radio Button/textbox Not Selected";
}
else if (type.equals("text")) {
result = element.getAttribute("value");
}
else {
log.debug("Unexpected input type");
}
return result;