我是硒的新手。我试图从表单中选择单选按钮。它有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
有谁能说出我做错了什么?感谢。
答案 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);
您可以通过等待特定元素来自定义等待。 让我知道更多疑问。 快乐学习。 :)