首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过CSS Selector for Selenium Webdriver Java登录

通过CSS Selector for Selenium Webdriver Java登录
EN

Stack Overflow用户
提问于 2017-06-22 00:16:06
回答 2查看 199关注 0票数 1

我是Java和Selenium的新手。我试图登录到一个网站,有一个唯一的用户名和密码的id,所以我想我会使用css来定位登录域。我可以在Selenium IDE中做到这一点,但在Eclipse中不能。

代码语言:javascript
复制
<input name="uid_578180ab6f188bd2803df958f4aafa6c399bc8fe" class="form-control 
col-sm-10" id="uid_578180ab6f188bd2803df958f4aafa6c399bc8fe" autofocus="" 
required="" type="text">

我可以启动网站,但用户名和密码字段仍为空白。

代码语言:javascript
复制
driver.findElement(By.cssSelector("[id^=uid_]")).sendKeys("username");
driver.findelement(By.cssSelector("[id^=pwd_]")).sendKeys("password");

这是用于密码字段的。也许我的方法是不正确的。

代码语言:javascript
复制
<input type="password" required="" class="form-control" 
id="pwd_28e13d5a226a4a576f54de3e0501f2ce1b8204ee" 
name="pwd_28e13d5a226a4a576f54de3e0501f2ce1b8204ee" 
onkeypress="if(event.keyCode==13)
{document.getElementById('login_form').submit();}">
EN

回答 2

Stack Overflow用户

发布于 2017-06-22 00:28:28

CSS - is样式技术,它使用选择器(.classes和#id)来定位元素。Java可以使用选择器来查找元素。如果你想找到多个元素和唯一(单个)元素的ID,那么使用类是明智的。

代码语言:javascript
复制
driver.getElementById("uid_578180ab6f188bd2803df958f4aafa6c399bc8fe").sendKeys("username");
driver.getElementById("pwd_28e13d5a226a4a576f54de3e0501f2ce1b8204ee").sendKeys("password");
票数 0
EN

Stack Overflow用户

发布于 2017-06-22 00:31:23

我已经尝试过你的解决方案。如果网页上只有一个以"uid“或"pwd”开头的元素,它应该可以工作。

你可以试着放一点等待和检查。如果您标识的路径是唯一的,则文本将同时输入到usernamepassword字段中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44681350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档