我有以下HTML。这是一个带3个单选按钮的小窗口。它实现为具有3个li元素的ul。下面代码点击li里面的div并选择单选按钮:
WebElement v = driver.findElement(By.xpath("/html/body/div[4]/div/div[2]/div/div[1]/div[2]/ul/li[2]/div[1]"));
JavascriptExecutor jsb = (JavascriptExecutor) driver;
jsb.executeScript("arguments[0].click();", v);
如何找出点击三个单选按钮中的哪一个?我想再次打开这个屏幕,并能够分辨出哪个单选按钮被选中。
] 2
答案 0 :(得分:0)
您的问题中没有很多信息。我可以假设感兴趣的html图像是" none"被选中。如果您注意到,当选择单选按钮时,班级名称为 "icon icon-dot-circle-o"
。
否则,班级名称为" icon icon-circle-o"。
您可以使用此信息来了解选择了哪个按钮。
答案 1 :(得分:0)
查看您分享的HTML
,很明显最初都没有选择radio button
。因此,您的第一个问题How do I find out which of the three radio button is clicked?
似乎不是一个有效的问题。我们应该能够选择/点击我们可以使用的radio button
到Selenium
中的任意/全部。
现在,一旦选择了单选按钮,如果您要求验证是否选择了正确的radio button
,则可以使用以下代码块:
List<WebElement> radio_options = driver.findElements(By.xpath("//div[@class='rc-diolog-body']//ul/li/div[not(@class='icon icon-dot-circle-o')]"));
for(WebElement option:radio_options)
{
if(option.isSelected())
{
System.out.println(option.getAttribute("innerHTML"));
break;
}
}