在编写测试时,我需要单击弹出窗口内的复选框。当页面加载弹出窗口时,我可以通过单击按钮使其可见。使用Selenium代码我可以使用代码
查看其中的弹出窗口和复选框WebElement buttonAddMembers = driver.findElementById(UserTest.Controls.UserGroup.button_to_add_members);
buttonAddMembers.click();
但仍然抛出错误,该元素不可见,因此无法点击它。
List<WebElement> checkboxes = driver.findElementsByCssSelector(UserTest.Controls.UserGroup.checkboxes_add_members_popup);
checkboxes.get(0).click();
我尝试pause(3000)
并且可以清楚地看到复选框是可见的,如何解决这个问题?
答案 0 :(得分:0)
尝试使用原始Thread.sleep(1000);
以下是您可以验证元素是否可见的方法:
public boolean isElementPresent(By selector)
{
return driver.findElements(selector).size()>0;
}
public boolean isElementVisible(By selector){
return driver.findElement(selector).isDisplayed();
}
希望这会对你有所帮助。
WebElement buttonAddMembers = driver.findElementById(UserTest.Controls.UserGroup.button_to_add_members);
buttonAddMembers.click();
Thread.sleep(1000);
List<WebElement> checkboxes = driver.findElementsByCssSelector(UserTest.Controls.UserGroup.checkboxes_add_members_popup);
if(checkboxes.get(0).isDisplayed()) checkboxes.get(0).click()