选择Selenium Webdriver(Java)上的单选按钮
我想在这样一个测试web应用程序上选择一个单选按钮。经过反复尝试,我找不出怎么做 以下是web应用程序的HTML选择Selenium Webdriver(Java)上的单选按钮,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我想在这样一个测试web应用程序上选择一个单选按钮。经过反复尝试,我找不出怎么做 以下是web应用程序的HTML <ol class="plain block-listing solid choice-area"> <li class="qti-choice qti-simpleChoice"data-serial="choice_simplechoice_56c2a110874b8101352859" data-identifier="choice_1">
<ol class="plain block-listing solid choice-area">
<li class="qti-choice qti-simpleChoice"data-serial="choice_simplechoice_56c2a110874b8101352859" data-identifier="choice_1">
<div class="pseudo-label-box">
<label class="real-label">
<input type="radio" value="choice_1" name="response-interaction_choiceinteraction_56c2a1108692f930922645">
<span class="icon-radio"></span>
</label>
<div class="label-box">
<div class="label-content clear" contenteditable="false">
<div class="qti-block">a. Terminal</div>
</div>
</div>
</div>
</li>
<li class="qti-choice qti-simpleChoice" data-serial="choice_simplechoice_56c2a110878f8127430456" data-identifier="choice_2">
<div class="pseudo-label-box">
<label class="real-label">
<input type="radio" value="choice_2" name="response-interaction_choiceinteraction_56c2a1108692f930922645">
<span class="icon-radio"></span>
</label>
<div class="label-box">
<div class="label-content clear" contenteditable="false">
<div class="qti-block">b. Pelabuhan</div>
</div>
</div>
</div>
</li>
有人能帮忙吗?
提前谢谢。您可以使用单选按钮的输入标签进行选择 试试这个: WebElement choiceOption=driver.findElement(按.tagName(“输入”));
选择选项。单击() 您可以使用相对路径,而不是使用绝对路径,并且有多种方法来定位此webelement。 最简单的xpath之一是: findElement(By.xpath(“//input[@value='choice_1']))。单击() 是相同的答案
driver.findElement(By.xpath("//label[@class='real-label']//*[@value='choice_2']")).click();
//The above code selects the option "Pelabuhan"
你可以用多种方法来做
希望有帮助!首先在方法中,找到ol标记的Webelement,在ol find List of input tag和apply for loop for input tag List中,并与要单击的input tag的值匹配 请尝试以下代码: `
myMethod(字符串输入值){
WebElement olTag=driver.findElement(按.tagName(“ol”));
List inputTagList=olTag.findElements(按.tagName(“输入”));
用于(WebElement项目:inputTagList){
如果(item.getAttribute(“value”).equals(InputAgValue)){
项。单击();
打破
}
}
}
`
“//html/body/div[1]/div[1]/div/div/div/ol/li[1]/div/label/span”
不易维护。几乎任何结构更改都会破坏您的测试。请注意,谢谢您的建议。Hi Deo,我尝试了您的建议,但仍然返回了NoTouchElement例外。谢谢您的帮助。Hi Prakash,我会尝试这个。谢谢您的帮助Hi Randhika,我会尝试这个。谢谢您的帮助。Hi Sandeep,我会谢谢你的帮助。嗨,普密斯,我试试这个。谢谢你的帮助。
driver.findElement(By.xpath("//label[@class='real-label']//*[@value='choice_2']")).click();
//The above code selects the option "Pelabuhan"
myMethod(String inputTagValue){
WebElement olTag = driver.findElement(By.tagName("ol"));
List<WebElement> inputTagList = olTag.findElements(By.tagName("input"));
for (WebElement item: inputTagList ) {
if(item.getAttribute("value").equals(inputTagValue)){
item.click();
break;
}
}
}