Selenium。无法输入网站

时间:2017-10-26 02:31:25

标签: selenium selenium-webdriver selenium-chromedriver

我有两个输入字段用户名和密码。我无法使用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( “测试”);

他们都没有工作。

登录按钮也无法正常工作。 请帮我。

2 个答案:

答案 0 :(得分:0)

问题是你的定位器。你需要一些东西来识别你在开始时寻找的元素类型(例如“// div [@id ....”或“// * [@ id ....”如果你想要它作为一个通配符)但是,您可以将定位器简化为:

//input[@name='LOGIN']

您尝试使用的复合定位器可能非常脆弱,因为您的代码中有更多元素可能会发生变化。

答案 1 :(得分:0)

driver.findElement(By.xpath("//input[@name='LOGIN']")).sendkeys("test");