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();
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章