WEB自动化(JAVA版)——特殊元素定位与操作-iframe

特殊元素定位与操作-iframe

iframe切换
四种切换方式:

  • driver.switchTo().frame(index);
  • driver.switchTo().frame(id);
  • driver.switchTo().frame(name);
  • driver.switchTo().frame(WebElement);

切换之后,回到默认内容页面(否则会找不到元素)

  • driver.switchTo().defaultContent();

代码示例

package com.test;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class SpecialElementLocate {

	private static ChromeDriver chromeDriver;
	
	public static void main(String[] args) throws InterruptedException {			
		//iframe处理
		//访问本地HTML文件
		chromeDriver.get("D:\\iframe\\a.html");
		//在默认的页面去找输入框输入数据
		//点击按钮
		chromeDriver.findElement(By.id("aa")).sendKeys("111");
		Thread.sleep(2000);
		//进入第一个内嵌页面中定位元素,输入数据
		//切换iframe
		chromeDriver.switchTo().frame("bframe");
		chromeDriver.findElement(By.id("bb")).sendKeys("222");
		Thread.sleep(2000);
		//进入第二个内嵌页面中定位元素,输入数据
		//切换iframe
		chromeDriver.switchTo().frame("cframe");
		chromeDriver.findElement(By.id("cc")).sendKeys("333");
		Thread.sleep(2000);
		//回到默认的页面
		chromeDriver.switchTo().defaultContent();
		chromeDriver.findElement(By.id("aa")).sendKeys("回到了默认页面中");
	}
	
	public static void openChrome() {
		System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
		//1.打开Chrome浏览器
		chromeDriver = new ChromeDriver();
	}
}
发布了73 篇原创文章 · 获赞 2 · 访问量 3154

猜你喜欢

转载自blog.csdn.net/anniewhite/article/details/105343663