我是Java和Selenium的新手。我试图登录到一个网站,有一个唯一的用户名和密码的id,所以我想我会使用css来定位登录域。我可以在Selenium IDE中做到这一点,但在Eclipse中不能。
<input name="uid_578180ab6f188bd2803df958f4aafa6c399bc8fe" class="form-control
col-sm-10" id="uid_578180ab6f188bd2803df958f4aafa6c399bc8fe" autofocus=""
required="" type="text">我可以启动网站,但用户名和密码字段仍为空白。
driver.findElement(By.cssSelector("[id^=uid_]")).sendKeys("username");
driver.findelement(By.cssSelector("[id^=pwd_]")).sendKeys("password");这是用于密码字段的。也许我的方法是不正确的。
<input type="password" required="" class="form-control"
id="pwd_28e13d5a226a4a576f54de3e0501f2ce1b8204ee"
name="pwd_28e13d5a226a4a576f54de3e0501f2ce1b8204ee"
onkeypress="if(event.keyCode==13)
{document.getElementById('login_form').submit();}">发布于 2017-06-22 00:28:28
CSS - is样式技术,它使用选择器(.classes和#id)来定位元素。Java可以使用选择器来查找元素。如果你想找到多个元素和唯一(单个)元素的ID,那么使用类是明智的。
driver.getElementById("uid_578180ab6f188bd2803df958f4aafa6c399bc8fe").sendKeys("username");
driver.getElementById("pwd_28e13d5a226a4a576f54de3e0501f2ce1b8204ee").sendKeys("password");发布于 2017-06-22 00:31:23
我已经尝试过你的解决方案。如果网页上只有一个以"uid“或"pwd”开头的元素,它应该可以工作。
你可以试着放一点等待和检查。如果您标识的路径是唯一的,则文本将同时输入到username和password字段中
https://stackoverflow.com/questions/44681350
复制相似问题