我有两个输入字段用户名和密码。我无法使用selenium找到并输入输入。登录按钮单击也失败。
请找到HTML
<div id="loginTable">
<form accept-charset="UTF-8" name="loginForm" method="POST" action="/cgi-bin/login">
<table>
<tbody>
<tr>
<td>User name:</td><td colspan="2"><input name="LOGIN"></td></tr><tr>
<td>Password:</td><td colspan="2"><input name="PWD" type="password"></td></tr><tr>
<td colspan="2"><button type="submit">Login</button></td></tr></tbody></table></form></div>
我使用了以下代码行,
driver.findElement(By.xpath( “// [@ ID = \” loginTable \ “] /形式/表/ TR [1] / TD [2] /输入”))。的SendKeys( “测试”) ; driver.findElement(By.name( “LOGIN”))的SendKeys( “测试”);
WebElement userEntry = wait.until(ExpectedConditions.visibilityOfElementLocated(By.name(“LOGIN”))); userEntry.sendKeys( “测试”);
他们都没有工作。
登录按钮也无法正常工作。 请帮我。
答案 0 :(得分:0)
问题是你的定位器。你需要一些东西来识别你在开始时寻找的元素类型(例如“// div [@id ....”或“// * [@ id ....”如果你想要它作为一个通配符)但是,您可以将定位器简化为:
//input[@name='LOGIN']
您尝试使用的复合定位器可能非常脆弱,因为您的代码中有更多元素可能会发生变化。
答案 1 :(得分:0)
driver.findElement(By.xpath("//input[@name='LOGIN']")).sendkeys("test");