如何在selenium java中使元素可见

时间:2017-11-10 11:23:20

标签: java selenium selenium-webdriver

当我尝试执行以下代码时,它给我例外情况: - org.openqa.selenium.ElementNotVisibleException: element not visible

 WebElement elem = newDriver.findElement(By.name("loginId"));
    elem.get(0).clear();
    elem.get(0).sendKeys("asd");

即使元素存在。

有关详细信息,请参阅下图。

enter image description here

我正在尝试访问帐户标签下面的输入框,但是因为元素不可见而给我异常。

我已使用 Actions 标记和 JavascriptExecutor

任何建议。

1 个答案:

答案 0 :(得分:1)

感兴趣的元素位于iframe中:

enter image description here

所以,之前,你必须切换到iframe:

    WebElement iframe= driver.findElement(By.id("alibaba-login-box"));
    driver.switchTo().frame(iframe);

如果你想“走出”iframe:

driver.switchTo().defaultContent();

整个代码:

    WebElement iframe= driver.findElement(By.id("alibaba-login-box"));
    driver.switchTo().frame(iframe);
    WebElement elem = driver.findElement(By.id("fm-login-id"));
    elem.clear();
    elem.sendKeys("asd");

    //when you want to return to the defaultContent
    driver.switchTo().defaultContent();