我正在尝试为以下网站编写WebDriver测试用于学习目的:http://www.mate1.com
点击登录链接后,我会收到一个表格,用于填写我的电子邮件ID和密码。据我了解,表单显示在iframe中。
要输入凭据,我尝试识别该特定页面的iframe数量(并将其设置为7)并尝试切换到每个iframe,并通过XPath和ID搜索电子邮件字段。但是,我没有成功找到它。那怎么办呢?
这是我的代码:
driver.get("http:www.mate1.com");
driver.findElement(By.xpath("//*[@id='header-container']/div/a")).click();
List <WebElement> frames = driver.findElements(By.tagName("iframe"));
System.out.println("Totalframes -> "+ frames.size());
driver.switchTo().frame(0);
driver.findElement(By.xpath("//[@id='email']")).sendKeys("xxxxxxxxx@rocketmail.com");
答案 0 :(得分:1)
这可能是使用switchTo().frame(WebElement)
的好方法:
driver.switchTo().frame(findElement(By.cssSelector(".iframe-container>iframe")));
答案 1 :(得分:0)
登录名和密码字段不在iframe中,您可以直接使用以下代码 -
driver.findelement(By.id(&#34;电子邮件&#34;。)的SendKeys(&#34; xxxxxxxxx@rocketmail.com");
尽量不要切换到任何iframe并执行上面的行,这将有效。