我有两个输入字段用户名和密码 . 我无法使用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( “测试”);
他们都没有工作 .
登录按钮也不起作用 . 请帮我 .
1 回答
问题是你的定位器 . 你需要一些东西来识别你在开始时寻找的元素类型(例如“// div [@id ....”或“// * [@ id ....”如果你想要它作为一个通配符)但是您可以将定位器简化为:
像你试图使用的复合定位器可能非常脆弱,因为代码中有更多元素可能会发生变化 .