Java selenium 取得iframe焦點(進入frame+離開frame)

要如何解決xpath,css selector無法定位問題?

通常如果頁面有iframe就很容易無法直接定位,xpath,css selector都會無法抓到要找的元件。這個時候就需要先跳到iframe裡面。
如果有多層則要一層一層跳進去

這裡主要介紹三種進入iframe的方式:
1.有iFrame ID 或 name
dr.switchTo().frame("frameId");
//frame直接id or name 都可以

2.用xpath或css selector
WebElement frame=driver.findElement(By.xpath( "/html/body/div[1]/div/iframe" ));
driver.switchTo().frame(frame);
// 使用xpat示範

3.用第幾個iframe來進入
Int size = driver.findElements(By.tagName("iframe")).size();//取得全部iframe數量
driver.switchTo().frame(0);

注意,進入iframe後會找不到iframe外面的元素,所以要先跳出iframe


driver.switchTo().parentFrame();
//會直接跳到此位置的父級frame


driver.switchTo().defaultContent();
//跳到主文件




留言