当我尝试执行下面的代码时,它给了我异常:-org.openqa.selenium.ElementNotVisibleException: element not visible
WebElement elem = newDriver.findElement(By.name("loginId"));
elem.get(0).clear();
elem.get(0).sendKeys("asd");
即使元素存在。
有关详细信息,请参见下图。
我正在尝试访问帐户标签下方的输入框,但它给了我异常,因为元素不可见。
我已经使用了 Actions
标签和 JavascriptExecutor
任何建议。
最佳答案
感兴趣的元素在 iframe 中:
所以,之前,你必须切换到 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/