Selenium:不能单击单选按钮,复选框

时间:2016-09-23 12:32:21

标签: selenium webdriver

我是硒的新手。我试图从表单中选择单选按钮。它有id。 By.id("test12")).getAttribute("value")),显示正确的值,但如果我By.id("test12")).click();没有点击该元素 driver.findElement(By.xpath("//*@id='test13']")).getAttribute("Value")); 还会显示名称。但是click()没有用。

  

我收到了org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与之交互   命令持续时间或超时:30.09秒

<input id="test12" class="with-gap" type="radio" value="P" name="group1">
<input id="test13" class="with-gap" type="radio" value="C" name="group1">

    List<WebElement> eRB=driver.findElements(By.name("group1"));
    System.out.println(eRB.size());
    for(int i=0;i<eRB.size();i++)
    {
       System.out.println(eRB.get(i).getAttribute("id")+" is Displayed = "+eRB.get(i).isDisplayed());
    }

o / p是:

4
test13 false
test12 false
test13 false
test12 false

有谁能说出我做错了什么?感谢。

2 个答案:

答案 0 :(得分:0)

@Suba Narayanan,在点击之前使用webdriver等待检查元素的可见性。

WebDriverWait wait = new WebDriverWait(driver, 30);
    wait.until(ExpectedConditions.elementToBeClickable(By.id("test12"))).click();

答案 1 :(得分:0)

尝试使用以下代码单击单选按钮:

driver.get("https://www.jobsforher.com/employer/account/sign_up");
Thread.sleep(5000L);
driver.findElement(By.xpath("//*[@id='test2']/div/div/div[1]/div[1]/div[2]/div/label")).click();
Thread.sleep(5000L);

您可以通过等待特定元素来自定义等待。 让我知道更多疑问。 快乐学习。 :)