2013-01-02 121 views
0

在编写测试时,我需要点击弹出框内的复选框。当页面加载时弹出窗口被隐藏,我可以通过点击一个按钮来使其可见。使用硒代码我可以使用代码元素被隐藏并且不可点击(但其可见)

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()