无法在selenium webdriver中找到单选按钮

时间:2016-04-28 08:06:22

标签: selenium

我无法使用给定的html代码选择Selenium Webdriver-Java中的单选按钮

<input id="idcc-de81e53f-7cfd-4136-816f-d09d4055eeee" type="radio" value="de81e53f-7cfd-4136-816f-d09d4055eeee" name="panels:0:panel:stepContainer:stepTypeDisplay:optionPanel:options">
<label for="idcc-de81e53f-7cfd-4136-816f-d09d4055eeee">Canada</label>
<br>
<input id="idcc-17c1d432-5cec-4da9-9a02-39986d508770" type="radio" value="17c1d432-5cec-4da9-9a02-39986d508770" name="panels:0:panel:stepContainer:stepTypeDisplay:optionPanel:options">
<label for="idcc-17c1d432-5cec-4da9-9a02-39986d508770">United States</label>

2 个答案:

答案 0 :(得分:0)

id="idcc-de81e53f-7cfd-4136-816f-d09d4055eeee"最有可能通过动态ID,所以您需要做的就像

选项1:

List<WebElement> radioButtons = driver.findElements(By.xpath("//input[@type='radio']"));

foreach(IWebElement button : radioButtons)
{
   if(button.getText.Equels("Canada"))
   {
      button.cilck();
   }
}

选项2:

driver.findElement(By.partialLinkText("Canada")).click();

答案 1 :(得分:-1)

嗨,请按以下方式进行操作

driver.get("file:///C:/Users/rajnish/Desktop/radio.html");
driver.manage().window().maximize();
// for canada
driver.findElement(By.id("idcc-de81e53f-7cfd-4136-816f-d09d4055eeee")).click();

// for United states
driver.findElement(By.id("idcc-17c1d432-5cec-4da9-9a02-39986d508770")).click();

你所面临的问题非常简单直接,请发布你尝试过的示例代码,这样我可以帮助你,如果你做错了,谢谢