java - 无法找到 Gmail 登录页面密码字段的元素

标签 java selenium webdriver element

我正在尝试使用 Selenium 编写 Gmail 登录程序。我可以点击 URL,输入用户名并单击“下一步”按钮,但是当我重定向到“密码”字段页面时,我无法找到该元素。我尝试使用 by.className 进行相同的操作。以下是字段的检查代码:

<input class="whsOnd zHQkBf" 
       jsname="YPqjbf"  
       autocomplete="current-password"  
       spellcheck="false"  
       tabindex="0"  
       aria-label="Enter your password"  
       name="password"  
       autocapitalize="off"  
       autocorrect="off"  
       dir="ltr"  
       data-initial-dir="ltr"  
       data-initial-value=""  
       badinput="false"  
       type="password">

下面是我写的 selenium 代码:​​

driver.findElement(By.className("whsOnd zHQkBf")).sendKeys("Password");

我还尝试使用 Id,通过使用父级 <div id ="password"....> , 但它没有用。

请告诉我解决方案。

最佳答案

whsOnd zHQkBf 表示该元素有两个 CSS 类 whsOndzHQkB。因此,您将找不到任何具有名为 whsOnd zHQkBf 的类的内容。

您必须改为使用 CSS 选择器来查找具有多个类的元素,如下所示:.whsOnd.zHQkBf。但这与 google 登录页面上的多个元素匹配。使用以下 CSS 选择器 input[type='password'] 会更容易。

关于java - 无法找到 Gmail 登录页面密码字段的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48096811/

相关文章:

java - java中是否有一个函数的工作原理类似于SUBSTRING函数,但对于整数?

java - 如何使用 BigDecimal 正确计算有理数

python - 使用 Selenium 导航分页

java - Selenium 测试元素存在失败

java - org.openqa.selenium.WebDriverException 错误的根本原因是什么?

python - 删除由 selenium/chromedriver 传递给 chrome 的参数

java - gwtupload 用于 gwt 2.5.1 通用文件上传

Java项目相关建议

selenium - 使用具有相同 selenium 测试的不同页面对象集

selenium - 如何在 Web 应用程序中测试上下文菜单功能?