以下是HTML代码的相关摘要:
<form action="/portal/index#/accounts/enroll" method="get">
<button class="my_linkable_button"> Request StudyTRAX </button>
</form>
我使用下面的代码行输入数据
</td>
<td valign=top bgcolor="#dcdcdc" class="camp">
<script>Oblog()</script>ID <br>
<input type="text" name="idClnt" size="14" maxlength="11" value='' class="cat" onchange="Camp(this);resetPreScore();" onKeyPress="if (event.keyCode == 13){EnterData();}">
我无法在文本字段中输入数据。它给出了以下错误:
“线程中的异常”main“org.openqa.selenium.ElementNotVisibleException:不显示元素(警告:服务器未提供任何堆栈跟踪信息)”
但该元素似乎不可见,我可以使用下面的代码找到元素:
driver.findElement(By.name("idClnt")).sendKeys("10000057W");
它给出了输出:
List<WebElement> ele = driver.findElements(By.name("idClnt"));
System.out.println(ele);
请建议我如何在文本字段中输入数据
答案 0 :(得分:0)
为什么不使用类似的东西?
driver.findElement(By.name("idClnt")).sendKeys("whatever you want to type");
如果您只想在输入框中输入数据,为什么在这里使用列表?
答案 1 :(得分:0)
1)为了检查元素的可见性,您应该使用isDisplayed
方法:
WebElement el = driver.findElement(By.cssSelector("input[class=cat]"));
System.out.println(el.isDisplayed());
2)输入文字:
WebElement el = driver.findElement(By.cssSelector("input[class=cat]"));
el.sendKeys("SO the best!");
3)如果您想为隐藏value
设置input
,请尝试关注(更多详情https://stackoverflow.com/a/16327185/2517622):
JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement el = driver.findElement(By.cssSelector("input[class=cat]"));
js.executeScript("arguments[0].value = arguments[1];", el, "SO the best!");