这是页面的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");
试试下面:-
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");
完整代码:-
System.setProperty("webdriver.gecko.driver", "D:\\Workspace\\FluentWaitTest\\src\\lib\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://retail.onlinesbi.com/retail/login.htm");
driver.manage().window().maximize();
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");
如果仍然不工作,那么它们可以是一些框架或其他标签存在相同的属性
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句