iFrame中的iFrame

时间:2016-03-01 19:31:54

标签: java selenium iframe webdriver

我有一个程序,我在iFrame中调用iFrame但是当我尝试返回第一个iFrame时,它无法再找到这些元素。

我试过了两次

base.getDriver().switchTo().frame("PopUpCont");
    Add_Prefix_NewContact();
    Add_FirstName_NewContact();
    Add_MiddleName_NewContact();
    Add_LastName_NewContact();
    Add_Suffix_NewContact();
    iFrameConvertion_Add_PrimaryAcct_NewContact();
    base.getDriver().switchTo().frame("PrimaryAcctPick");
    Add_PrimaryAcct_NewContact();
    base.getDriver().switchTo().defaultContent();
    Add_JobTitle_NewContact();

以及

base.getDriver().switchTo().frame("PopUpCont");
    Add_Prefix_NewContact();
    Add_FirstName_NewContact();
    Add_MiddleName_NewContact();
    Add_LastName_NewContact();
    Add_Suffix_NewContact();
    iFrameConvertion_Add_PrimaryAcct_NewContact();
    base.getDriver().switchTo().frame("PrimaryAcctPick");
    Add_PrimaryAcct_NewContact();
    base.getDriver().switchTo().frame("PopUpCont");
    Add_JobTitle_NewContact();

然而,两种解决方案都无法找到下一个网络元素,因此我不相信我正确地返回到第一个iFrame。我知道web元素的工作方式正如我已经注释掉并尝试过的那样。

1 个答案:

答案 0 :(得分:0)

如果有人关心看,我找到了解决方案。

base.getDriver().switchTo().frame("PopUpCont");
    Add_Prefix_NewContact();
    Add_FirstName_NewContact();
    Add_MiddleName_NewContact();
    Add_LastName_NewContact();
    Add_Suffix_NewContact();
    iFrameConvertion_Add_PrimaryAcct_NewContact();
    base.getDriver().switchTo().frame("PrimaryAcctPick");
    Add_PrimaryAcct_NewContact();
    base.getDriver().switchTo().parentFrame();
    Add_JobTitle_NewContact();
    Add_Email_NewContact();

父框架让我回到我需要的地方。