Selenium 和 html 中的 iframe。
我們可以使用 Selenium webdriver 處理 iframe。框架在 html 程式碼中用 <iframe>、<frameset> 或 <frame> 標籤定義。框架用於將 HTML 文件嵌入到另一個 HTML 文件中。

Selenium 預設情況下可以訪問父瀏覽器驅動程式。為了訪問框架元素,驅動程式焦點必須從主瀏覽器視窗切換到框架。有多種方法可以切換到框架:
switchTo().frame(id) - 將框架的 id 或名稱作為引數傳遞。
語法:driver.switchTo().frame("id"),切換到具有 id 的框架。
switchTo().frame(m) - 將框架的索引作為引數傳遞。索引從零開始。
語法:driver.switchTo().frame(0),切換到頁面上的第一個框架。
switchTo().frame(webelement n) - 將框架的 webelement 作為引數傳遞。
語法:driver.switchTo().frame(l),切換到具有 webelement l 的框架。
switchTo().defaultContent() – 將焦點從框架切換到主頁面。
語法:driver.switchTo().defaultContent()
示例
程式碼實現。
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class iFrameMethods{
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://the-internet.herokuapp.com/frames");
driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);
// identify element and click
driver.findElement(By.partialLinkText("Nested")).click();
// switching to frame with frame name
driver.switchTo().frame("frame-bottom");
WebElement m = driver.findElement(By.cssSelector("body"));
System.out.println("Frame text: " +m.getText());
driver.close();
}
}輸出

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP