如何确定框架是否存在

时间:2015-04-28 19:28:02

标签: java selenium

在我的应用程序中,所有选项卡都是一帧下的类别。我用过:

>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)

验证框架是否存在,但我收到以下异常:

{{1}}

2 个答案:

答案 0 :(得分:1)

您的错误表示您正在尝试从By投射By.name("contents") WebElement到您(WebElement)的{​​{1}} ...这当然是无稽之谈!< / p>

根据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

答案 1 :(得分:0)

如果html包含html

,您可以使用浏览器的开发窗口(F12)并在iframe内搜索
  

对于此点击F12&gt;点击html源内部&gt; Ctrl + F进行搜索,然后输入您要搜索的内容。

请参阅this

另外,为了澄清,请验证iframe内的元素。 contents对我来说似乎不是一个有效的iframe名称。提供相关的html进一步调查