【问题标题】:Selenium Webdriver -- No such ElementSelenium Webdriver——没有这样的元素
【发布时间】:2015-07-08 21:14:37
【问题描述】:

我正在尝试在登录链接上使用Selenium webdriver.clicked 登录 Sears.com-->登录表单打开。

但无法在登录表单中找到文本框元素。登录表单位于 iframe (frame Name =easyXDM_default5914_provider) 内。此 iframe 在 div 内 (id=modaliframe)

driver.switchTo().frame(driver.findElement(By.xpath(".//iframe[@id='easyXDM_default5914_provider']")));
driver.switchTo().activeElement();
driver.findElement(By.id("email")).sendKeys("xxx@gmail.com");

在我的控制台中出现以下异常:

org.openqa.selenium.NoSuchElementException:无法定位元素: {"method":"id","selector":"email"}

【问题讨论】:

  • 你为什么switchTo().activeElement()? IFRAME ID 似乎也发生了变化,所以试试.//iframe[starts-with(@name, 'easyXDM_')]

标签: selenium selenium-webdriver


【解决方案1】:

试试下面的代码。

driver.get("http://www.sears.com/");
driver.findElement(By.xpath("//*[@id='header-shop-your-way-partner']")).click();
driver.findElement(By.xpath("//*[@id='open-sign-in-form']/span[2]")).click();
driver.switchTo().frame("registration-form-iframe");
driver.findElement(By.xpath("//*[@id='email']")).sendKeys("abcd@gmail.com");
Thread.sleep(3000);

【讨论】:

    猜你喜欢
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多