我正在尝试在Firefox中运行脚本(Protractor
)。
页面上有iframe,我需要单击该iframe中的链接。该单击将重定向到新选项卡,我也需要切换该选项卡。
但按点击不起作用的代码
我试图稍等片刻,直到链接可点击但它不起作用
var announcementsGadget = gadget.getAnnouncementGadget();
expect(announcementsGadget.isDisplayed()).toBe(true);
var iframe = gadget.getGadgetbyiFrame(announcementsGadget);
browser.switchTo().frame(iframe.getWebElement());
var allAnnouncements = gadget.getAllAnnouncementGadget();
allAnnouncements.click().then(function() {
browser.getAllWindowHandles().then(function(handles) {
browser.sleep(4000)
browser.switchTo().window(handles[1]).then(function() {
expect(browser.getCurrentUrl()).toEqual');
browser.sleep(sleep_interval);
browser.close();
});
browser.switchTo().window(handles[0]);
browser.sleep(5000);
});
});
它应该点击allAnnouncements
链接并切换到新标签
答案 0 :(得分:0)
如果有多个iframe,则可以使用:
browser.switchTo().frame(0);
切换到第一个iframe
并使用:
browser.switchTo().frame(1);
切换到第二个iframe
如果html中有一个iframe ,您还可以使用browser.switchTo().frame(0);
切换到该iframe。
然后,您可以单击所需链接。例如:
driver.findElement(by.tagName('a')).click();
之后,您必须通过以下方式切换到该iframe:
browser.switchTo().defaultContent();
现在,新的标签页已在浏览器中打开,您可以切换到新标签页,然后执行所需的操作。