java - 如何使元素在selenium java中可见

标签 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

任何建议。

最佳答案

感兴趣的元素在 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();

关于java - 如何使元素在selenium java中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47221693/

相关文章:

javascript - 如何使用selenium python点击链接

python - 2验证码API + Selenium

java - 如何从不是 Selenium 下拉菜单的列表中获取值

java - 更改 GLSL 版本以与 GL3 兼容

java - 从 Firebase 存储下载音频

java - Appium 1.13 IOS 12.3.1 切换到 webview(NewTab) 上下文时操作超时

google-app-engine - 如何在谷歌应用引擎/云中运行 Selenium ?

java - TestNG 测试套件执行时间

java - 尝试用对象数组中的 double 值替换字符串

java - 使用 Java 解析 HTML 数据(DOM 解析)