1. 程式人生 > >selenium:網頁中套了幾層iframe的元素定位

selenium:網頁中套了幾層iframe的元素定位

遇到檢視網頁元素時候可以找不到元素,總是報定位不到元素

org.openqa.selenium.NoSuchElementException: Unable to locate element: 

這時觀察元素網頁中的結構如下

html>body>form#form1>div>iframe#main>html>body>table>tr>td>iframe#topic>...

需要定位的元素處於iframe#topic中,然後要switch webdriver才行了,此處需要轉換2次,主要API---WebDriver.SwitchTo().Frame(WebElement element)

附簡單程式碼:

...
WebDriver driver = new ChromeDriver();
...
driver.switchTo().frame(driver.findElement(By.id("main")));
driver.switchTo().frame(driver.findElement(By.id("topic")));

//後面就可以定位到所需要的元素了
...