2015-04-28 54 views
1

在我的應用程序中,所有選項卡都是一個框架下的類別。我用:如何找出框架是否存在

driver.switchTo().frame((WebElement) By.name("contents")); 
System.out.println("Frame is selected"); 

驗證框架存在,但我得到以下異常:

>Exception in thread "main" java.lang.ClassCastException:  
    org.openqa.selenium.By$ByName cannot be cast to org.openqa.selenium.WebElement 
    at selenium_test.iebrowser.main(iebrowser.java:75) 

回答

0

您可以使用瀏覽器的DEVE窗口(F12)和搜索html內如果HTML包含iframe或者這樣的

對於這個命中F12>在html源代碼中單擊> Ctrl + F進行搜索並鍵入任何要搜索的內容。

this

而且只是爲了澄清,確認iframe內的元素。 contents似乎不是一個有效的iframe我的名字。提供相關的HTML進一步調查

1

你的錯誤說,你是從你的(WebElement)嘗試從By.name("contents")蒙上了By,到WebElement ......這當然是nonesense!

按照Selenium API.switchTo().frame()具有以下特徵之一:

WebDriver frame(int index); 
WebDriver frame(String nameOrId); 
WebDriver frame(WebElement frameElement); 

你需要的是任一一個

driver.switchTo().frame("contents"); // uses the nameOrId 
driver.switchTo().frame(driver.findElement(By.name("contents"))); // uses the frameElement 
相關問題