在我的应用程序中,所有选项卡都是一帧下的类别。我用过:
>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}}
答案 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
或
iframe
内搜索
对于此点击F12&gt;点击html源内部&gt; Ctrl + F进行搜索,然后输入您要搜索的内容。
请参阅this
另外,为了澄清,请验证iframe
内的元素。 contents
对我来说似乎不是一个有效的iframe
名称。提供相关的html进一步调查