(十三)多表单切换

虫师 创建于 over 7 years 之前

最后更新: less than a minute 之前

阅读数: 128

(十三)多表单切换


在 Web 应用中经常会遇到 frame/iframe 表单嵌套页面的应用, WebDriver 只能在一个页面上对元素识别与 定位, 对于 frame/iframe 表单内嵌页面上的元素无法直接定位。 这时就需要通过 switchTo().frame()方法将当前定 位的主体切换为 frame/iframe 表单的内嵌页面中。

<html>
  <body>
    ...
    <iframe id="x-URS-iframe" ...>
      <html>
         <body>
           ...
           <input name="email" >

126邮箱登录框的结构大概是这样子的,想要操作登录框必须要先切换到iframe表单。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;


public class MailLogin {

  public static void main(String[] args){

    WebDriver driver = new ChromeDriver();
    driver.get("http://www.126.com");

    WebElement xf = driver.findElement(By.xpath("//*[@id='loginDiv']/iframe"));
    driver.switchTo().frame(xf);
    driver.findElement(By.name("email")).clear();
    driver.findElement(By.name("email")).sendKeys("username");
    driver.findElement(By.name("password")).clear();
    driver.findElement(By.name("password")).sendKeys("password");
    driver.findElement(By.id("dologin")).click();
    driver.switchTo().defaultContent();
    //……
  }
}

如果完成了在当前表单上的操作,则可以通过switchTo().defaultContent()方法跳出表单。

0

相关课程

测试工具合集
图文
测试工具合集

课程分类: 自动化测试 测试工具 中间件

我们收集的各种测试工具

  • 已完结
  • 已更新7集
  • 最后更新时间: 2024-03-18 12:04:41

免费

查看详情
selenium python 综合教程
图文
selenium python 综合教程

课程分类: 自动化测试

selenium python入门及提升

  • 已完结
  • 已更新21集
  • 最后更新时间: 2024-03-18 10:51:39

免费

查看详情
selenium javascript教程
图文
selenium javascript教程

课程分类: 自动化测试

通过selenium来入门js

  • 已完结
  • 已更新21集
  • 最后更新时间: 2024-03-18 10:29:34

免费

查看详情