Java Selenium id=未找到电子邮件

Java Selenium id=未找到电子邮件,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我正在使用SeleniumWebDriver尝试捕获一个电子邮件地址字段以登录到我们的站点 检测电子邮件地址字段以便插入电子邮件的代码为: WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.presenceOfElementLocated(By.id(("email")))); WebElement email = driver.findElement(By.id("email"))

我正在使用SeleniumWebDriver尝试捕获一个电子邮件地址字段以登录到我们的站点

检测电子邮件地址字段以便插入电子邮件的代码为:

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.presenceOfElementLocated(By.id(("email"))));
WebElement email = driver.findElement(By.id("email"));
email.sendKeys(email);
网页上的HTML如下所示:

<input type="text" title="Email Address" class="input-text required-entry validate-email"
id="email" value="" name="login[username]">

问题是,Selenium报告它找不到id=电子邮件


浏览器是IE。在FF和Chrome中工作正常。

IE有时会以不同的方式呈现页面。你确定IE中的HTML是相同的吗

由于您的代码在FF和Chrome中运行良好,所以我现在建议您尝试不同的定位器。但请张贴您的确切stacktrace,确切的例外情况是什么

替换

By.id("email")
与下列之一

By.cssSelector("#email")
By.xpath(".//input[@id='email']")

By.cssSelector("input[title='Email Address']")
By.xpath(".//input[@title='Email Address']")

如果添加了任何新字段,xpath可能会更改,因此最好使用名称或id

driver.findElement(By.name("login[username]"));