Java 如何确定框架是否存在
在我的应用程序中,所有选项卡都是一个框架下的类别。我用过:Java 如何确定框架是否存在,java,selenium,Java,Selenium,在我的应用程序中,所有选项卡都是一个框架下的类别。我用过: driver.switchTo().frame((WebElement)By.name(“contents”); System.out.println(“选择了框架”); 验证帧是否存在,但我得到以下异常: >Exception in thread "main" java.lang.ClassCastException: org.openqa.selenium.By$ByName cannot be cast
driver.switchTo().frame((WebElement)By.name(“contents”);
System.out.println(“选择了框架”);
验证帧是否存在,但我得到以下异常:
>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)
如果html包含
iframe
或类似内容,则可以使用浏览器的deve窗口(F12)在html
中搜索
对于此点击F12>在html源代码内单击>Ctrl+F进行搜索,然后键入您想要搜索的内容
看
此外,为了便于澄清,请验证
iframe
中的元素<代码>内容在我看来不是有效的iframe
名称。提供相关html以进一步调查您的错误表示您正试图从您的By.name(“contents”)
向网页元素
从(网页元素)
。。。这当然是毫无意义的
根据,.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