繁体   English   中英

Selenium id =未找到电子邮件

[英]Selenium id=email not being found

我正在使用Selenium WebDriver尝试捕获电子邮件地址字段以登录我们的网站。

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

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 = email ???

浏览器是IE。 适用于FF和Chrome。

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

由于您的代码在FF和Chrome中运行良好,我现在建议的是尝试不同的定位器。 但请发布您的确切堆栈跟踪,究竟是什么例外。

更换

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]"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM