如何在selenium中找到此输入字段?

时间:2017-08-24 09:02:32

标签: selenium selenium-webdriver

这是页面的html代码。我需要在用户名字段中输入一些文字。  我该怎么做?

<div class="login_cred">
<label>Username*</label>
<input id="username" name="userName" tabindex="12" size="30" maxlength="30" 
onfocus="getFocus(this.id);" autocomplete="off" oncopy="return false" 
onpaste="return false" onkeypress="return disableCtrlKeyCombination(event);" 
onkeydown="return disableCtrlKeyCombination(event);" type="text">
<label>Password*</label>
<input id="label2" name="password" tabindex="13" title="password" size="30" 
onfocus="getFocus(this.id);" autocomplete="off" oncopy="return false" 
onpaste="return false" onkeypress="return disableCtrlKeyCombination(event);" 
onkeydown="return disableCtrlKeyCombination(event);" type="password">
<br>   
<br>

我尝试了以下代码,并且发出了错误消息,说明找不到元素

driver.findElement(By.xpath("//input[@id='username']")).sendKeys("qa");

2 个答案:

答案 0 :(得分:1)

请尝试以下方法: -

clear:both

完整代码: -

driver.get("https://retail.onlinesbi.com/retail/login.htm");
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

driver.findElement(By.xpath("(//a[contains(.,'CONTINUE TO LOGIN')])[2]")).click();
driver.findElement(By.xpath("//input[@id='username']")).sendKeys("test");

如果仍然不起作用,则它们可以是某些框架或其他标签,其中存在相同的属性

答案 1 :(得分:0)

这可能是由于在您尝试打开网址http://retail.onlinesbi.com/retail/login.htm时未加载元素的原因。您必须先点击 CONTINUE TO LOGIN 按钮,然后输入您的输入框。