章節十4、7-如何切換到iFrame

如下案例使用https://jqueryui.com/網站爲例。java

1、如何肯定元素是否包含在iFarme中?jquery

一、按F12打開發者選項,定位到指定的元素。chrome

二、向上查找元素是否被包含在ifarme標籤中。api

 

2、案例演示學習

 1 package switchto;
 2 
 3 import java.util.concurrent.TimeUnit;
 4 
 5 import org.junit.jupiter.api.AfterEach;
 6 import org.junit.jupiter.api.BeforeEach;
 7 import org.junit.jupiter.api.Test;
 8 import org.openqa.selenium.By;
 9 import org.openqa.selenium.WebDriver;
10 import org.openqa.selenium.WebElement;
11 import org.openqa.selenium.chrome.ChromeDriver;
12 
13 class SwitchFrame {
14 
15     WebDriver driver;
16     String url;
17     
18     @BeforeEach
19     void setUp() throws Exception {
20         driver = new ChromeDriver();
21         url = "https://jqueryui.com/datepicker/";
22         driver.manage().window().maximize();
23         driver.manage().timeouts().implicitlyWait(2000, TimeUnit.SECONDS);
24         driver.get(url);
25     }
26 
27     @Test
28     void test() {
29 //        切換到ifarme窗口
30         driver.switchTo().frame(0);
31 //        點擊ifarme窗口中的日期選擇框
32         WebElement datepicker = driver.findElement(By.id("datepicker"));
33         datepicker.click();
34         
35 //        切回到原來的窗口
36         driver.switchTo().defaultContent();
37 //        在主窗口搜索輸入框中輸入
38         driver.findElement(By.name("s")).sendKeys("jquery");
39     }
40     
41     @AfterEach
42     void tearDown() throws Exception {
43         Thread.sleep(2000);
44         driver.quit();
45     }
46 
47 
48 }

注:有三種方式能夠切換到ifarme窗口網站

一、經過編號切換到ifarme窗口(編號從0開始):driver.switchTo().frame(0);ui

二、經過ID、name屬性切換到ifarme窗口:driver.switchTo().frame("ifarme");url

三、經過元素定位切換到ifarme窗口:WebElement e = driver.findElement(By.className("demo-frame"));spa

driver.switchTo().frame(e);code

 

若是有不明白的小夥伴能夠加羣「555191854」問我,羣裏都是軟件行業的小夥伴相互一塊兒學習。

內容具備連慣性,未標註的地方能夠看前面的博客,這是一整套關於ava+selenium自動化的內容,從java基礎開始。

歡迎關注,轉載請註明來源。

相關文章
相關標籤/搜索