Webdriver无法识别iframe

时间:2017-04-17 18:47:08

标签: selenium-webdriver

我正在尝试查找并切换到iframe。虽然,我可以在HTML中看到它,但我的代码找不到它。我有多个iframe,我需要导航到孩子。但是,我的代码似乎无法找到父iframe。

这就是我所拥有的 -

driver.switchTo().frame("mc-app-iframe");

<div class="mc-canvas" role="main">
<div id="59fa" class="mc-canvas" style="display: block;">
<div class="mc-app">
<iframe class="mc-app-iframe" seamless="seamless" name="canvas-b2ca1f50-3cc4-4fd7-a3a3-88bf09fb59fa" style="min-width: 0px;" src="https://t1.com/C12/Default.aspx?entityType=none&entityID=0&hub=1&context=35d50b059#Subscribers" frameborder="0">

2 个答案:

答案 0 :(得分:2)

要切换到框架,您需要提供框架名称或框架ID。在您的情况下,我们将获取框架名称的帮助,如下所示:

driver.switchTo().frame("canvas-b2ca1f50-3cc4-4fd7-a3a3-88bf09fb59fa");

请告诉我这是否适合您。

答案 1 :(得分:0)

试试这个:

driver.switchTo().defaultContent();
WebElement iFrame= driver.findElement(By.tagName("iframe")); 
// can alternatively use css selector "iframe.mc-app-iframe"
driver.switchTo().frame(iFrame);

希望这有帮助