不能单击内部IFRAME元素

问题描述 投票:1回答:2

在下面的截图是iframe的HTML代码。

前两个红色标记的目的可通过的webdriver被识别但最后标记的(这是一个按钮)不能通过的webdriver点击。我曾尝试点击它用不同的方式(比如点击通过ID,姓名等)。但我仍然无法点击提交按钮。

请帮我点击提交框架内的按钮。

selenium iframe click
2个回答
3
投票

您需要使用switchTo().frame()frameiframe内访问内容。

driver.switchTo().frame("name");  // where name is the name of the iframe i.e. name="frameName", you would use framename
driver.switchTo().frame(0);       // You can switch to the frame by index
driver.switchTo().frame(element); // You can switch to the frame by a WebElement reference

在您的特定情况下,你可以使用:

driver.switchTo().frame("InstantSgn");

转出你的iframe范围内进行后的帧的:

driver.switchTo().defaultContent();

0
投票

同样的问题,今天发生在我身上。你不切换到帧这可能是由于简单,也可能是一些我的经验。

这发生在我身上只有IE浏览器。在Chrome中是没有问题的。

Actual Code

正如你所看到的,我并切换到框架,以确保该元素可以被发现。但是,这不可能。我发现的唯一的解决办法是把Thread.sleep代码(2000),使之通过。我不明白为什么,但我猜它是与DOM中不是可用的内容。

© www.soinside.com 2019 - 2024. All rights reserved.