这是HTML,我只想通过selenium web driver(java)测试它。有错误
线程中的异常" main" org.openqa.selenium.ElementNotVisibleException:元素不可见
可能低于HTML将帮助您理解我的问题
<html>
<head></head>
<body>
<ul class="list-unstyled">
<li>
<label class="chkbox">
<input type="radio" required="required" data-optioncode="displayDefaultForm" data-statusid="22" data-module="19" name="status">
<span class="lbl"></span>
</label>
<button class="btn module-status-style btn-xs mb5" style="background-color: #ffffff; border-color: #e1e1e1; color:#666666;">Unqualified</button>
</li>
<li>
<label class="chkbox">
<input type="radio" required="required" data-optioncode="displayDefaultForm" data-statusid="23" data-module="19" name="status">
<span class="lbl"></span>
</label>
<button class="btn module-status-style btn-xs mb5" style="background-color: #e4e7ea; border-color: #cccccc; color:#636e7b;">Attempted to Contact</button>
</li>
<li>
<label class="chkbox">
<input type="radio" required="required" checked="" data-optioncode="displayDefaultForm" data-statusid="24" data-module="19" name="status">
<span class="lbl"></span>
</label>
<button class="btn module-status-style btn-xs mb5" style="background-color: #5bc0de; border-color: #46b8da; color:#ffffff;">Contacted</button>
</li>
<li>
<label class="chkbox">
<input type="radio" required="required" data-optioncode="displayConvertedForm" data-statusid="25" data-module="19" name="status">
<span class="lbl"></span>
</label>
<button class="btn module-status-style btn-xs mb5" style="background-color: #1caf9a; border-color: #17a08c; color:#ffffff;">Converted</button>
</li>
</ul>
</body>
</html>
请帮我通过java selenuim检查单选按钮
答案 0 :(得分:1)
该异常表示该元素不可见。 Selenium无法对不可见的元素执行操作,因为它旨在模拟用户行为。检查CSS样式并确保您尝试单击的元素可见。如果需要单击隐藏元素,请使用JavascriptExecutor直接执行JavaScript单击。
答案 1 :(得分:1)
根据您提供的HTML,您应该尝试以下选择广播: -
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult CreateMeeting(Meeting meeting)
{
return RedirectToAction("ReinviteVisitor2", "Home", new { visitorId = meeting.SubjectId });
}
希望它能奏效...... :)
答案 2 :(得分:1)
正如Saurabh所说,您的代码中没有元素
答案 3 :(得分:1)
我的查询有以下方法:
使用xpath://input[@type='radio']
代码:
WebElement ele = driver.fidnElement(By.xpath("//input[@type='radio']"));
ele.click();
尝试上述方法。
答案 4 :(得分:0)
我可以想到两个场景,为什么你的单选按钮不可见。
一般解决方案是:
1:如果您的脚本点击它时您的单选按钮不可见:您需要等待它出现,
WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("input[type='radio']"));
2:如果你的单选按钮被隐藏了,你需要以某种方式让它出现,我不知道你的网页看起来如何,所以你必须在你自己的OR节目中弄清楚这一点我们的网页。