找不到AWS登录页面的邮件地址框

时间:2019-12-05 22:23:06

标签: selenium selenium-webdriver xpath css-selectors

我正在尝试找到AWS登录页面的电子邮件输入框。我尝试了css选择器和xpath,但是硒仍然无法找到该元素。

我的CSS选择器是

#resolver_container > div > input

我的代码是

WebElement emailBox = driver.findElement(By.cssSelector("#resolver_container > div > input"));
   emailBox.sendKeys(email);

错误是

  

线程“ main”中的异常org.openqa.selenium.NoSuchElementException:无此类元素:无法找到元素:{“方法”:“ css选择器”,“选择器”:“#resolver_container> div>输入”}     (会话信息:chrome = 78.0.3904.108)

链接是

AWS Login Page

3 个答案:

答案 0 :(得分:0)

我刚刚成功尝试了以下选择器

#resolving_input.aws-signin-textfield

请您尝试一下。

答案 1 :(得分:0)

您的定位器没有错,看来您需要等待。使用WebDriverWait

WebElement emailBox = new WebDriverWait(driver, 30).until(ExpectedConditions.elementToBeClickable(By.cssSelector("#resolver_container > div > input")));
emailBox.sendKeys(email);

正在导入:

import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.support.ui.ExpectedConditions;

您也可以使用id

By.id("resolving_input")

答案 2 :(得分:0)

Selenium执行代码的速度过快。因此,当您的元素可供使用时,硒已经开始搜索它。这就是为什么您遇到此异常的原因。只需添加一些等待。会的。