这是页面的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");
答案 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 按钮,然后输入您的输入框。