因为selenium java中的弹出窗口和iframe而遇到麻烦

时间:2018-06-14 20:31:29

标签: java selenium-webdriver

我是硒的新手。我想在网页上运行一些测试。 网址:https://online-top-up.digicelgroup.com/en-SR/ 网页有弹出窗口,在页面加载时出现。我尝试使用弹出窗口上的关闭按钮关闭弹出窗口,但它无法正常工作。由于弹出窗口,其他内容上有一个iframe叠加层。我想点击页面上的一个单选按钮,但是我收到了以下错误。

“button class =”btn btn-default btn-lg btn-block btn-radio在点(683.2750015258789,406.96668243408203)无法点击,因为另一个元素iframe id =“optimonk-campaign-112”name =“optimonk-campaign -112“src =”https://cdn-dynamic.optimonk.com/public/10610/creative/208/popup.html?v=15289830281477410239“>掩盖它“

我理解这是因为弹出窗口和iframe覆盖了内容。有人可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:0)

在第一阶段,您需要处理iframe。

WebElement popframe = driver.findElement(By.xpath(//iframe[@id='optimonk-campaign-112']);
driver.switchTo().frame(popframe);

无论如何这项工作。

但在你的情况下,你可以简单地使用

driver.switchTo().frame(id_of_frame); //this work only if iframe have id

切换到iframe后,请执行命令。

在决赛中,回到默认内容

driver.switchTo().defaultContent();