我正在尝试找到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)
链接是
答案 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执行代码的速度过快。因此,当您的元素可供使用时,硒已经开始搜索它。这就是为什么您遇到此异常的原因。只需添加一些等待。会的。