我正在尝试在文本字段中输入文本 (111),并且我已经尝试了几乎所有元素定位器、Javascript 技巧,但文本就是无法输入到字段中。
我尝试过:
driver.findElement(By.xpath("//div[@class='input-wrapper icon wupid']")).sendKeys("111");
Thread.sleep(2000);
错误:
Exception in thread "main" org.openqa.selenium.ElementNotVisibleException: element not visible
html代码:
<form id="form-resetpass" method="post" action="" _lpchecked="1">
<div class="input-wrapper icon wupid">
<label for="wupid">תעודת זהות</label>
<input class="only-numbers ltr" type="text" value="" maxlength="9" name="wupid" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAAXNSR0IArs4c6QAAAPhJREFUOBHlU70KgzAQPlMhEvoQTg6OPoOjT+JWOnRqkUKHgqWP4OQbOPokTk6OTkVULNSLVc62oJmbIdzd95NcuGjX2/3YVI/Ts+t0WLE2ut5xsQ0O+90F6UxFjAI8qNcEGONia08e6MNONYwCS7EQAizLmtGUDEzTBNd1fxsYhjEBnHPQNG3KKTYV34F8ec/zwHEciOMYyrIE3/ehKAqIoggo9inGXKmFXwbyBkmSQJqmUNe15IRhCG3byphitm1/eUzDM4qR0TTNjEixGdAnSi3keS5vSk2UDKqqgizLqB4YzvassiKhGtZ/jDMtLOnHz7TE+yf8BaDZXA509yeBAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: left center;">
</div>
为什么我无法输入值?
最佳答案
您可以为此使用等待概念。
隐式等待:
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
或者 您使用显式等待+预期条件:
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(
ExpectedConditions.visibilityOfElementLocated(By.id("someid")));
希望这能解决您的问题
关于java - Selenium 网络驱动程序 : Entering text into text field -element not visible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39117873/