Java 无法访问selenium中引导模式框上的关闭按钮

Java 无法访问selenium中引导模式框上的关闭按钮,java,jquery,twitter-bootstrap,selenium,cucumber,Java,Jquery,Twitter Bootstrap,Selenium,Cucumber,我正在用selenium制作一个程序,它导航到一个包含引导模式框的客户端内部网站。填写表单元素后,我无法关闭所需的按钮。 我正在使用以下代码访问模式框 List<WebElement> containerFrame = driver.findElements(By.tagName("iframe")); System.out.println("IFrame Number is :" + containerFrame.size()); try {

我正在用selenium制作一个程序,它导航到一个包含引导模式框的客户端内部网站。填写表单元素后,我无法关闭所需的按钮。

我正在使用以下代码访问模式框

    List<WebElement> containerFrame = driver.findElements(By.tagName("iframe"));
    System.out.println("IFrame Number is :" + containerFrame.size());

    try {
        WebElement openModal  = driver.findElement(By.xpath(".//*[@id='btnAddComment']"));
        Thread.sleep(3000);
        openModal.click();


    }catch (Exception ex) {
        System.out.println("not able to find Image");
    }

    try {
        Thread.sleep(3000);
        driver.switchTo().frame(containerFrame.get(0));
        driver.switchTo().activeElement();
        WebElement element = driver.findElement(By.xpath(".//*[@id='cke_1_contents']/textarea"));
        element.sendKeys("This is my comment");

        Thread.sleep(3000);
        WebElement commentType = driver.findElement(By.xpath(".//*[@id='ddlCommentTypes']"));
        Select familyListSelect = new Select(commentType);
        familyListSelect.selectByIndex(1);

    }catch(Exception ex) {
        System.out.println("not able to find 1");
    }

    try{
    Thread.sleep(3000);
    driver.switchTo().frame(containerFrame.get(1));
    driver.switchTo().activeElement();
    WebElement btnSaveCmt = driver.findElement(By.xpath(".//*[@id='btnSaveCmt']"));
selenium Ide显示window的值为“null”,因此切换到它是一个问题。它有5个iFrame,我可以访问第(0)帧中的字段。但是我在代码中找不到保存注释按钮

模态框的一些html是


产品上当前正在进行的票证

正在售票!

发起人GRP初始联系CSC/HD电话号码:

初始化。玻璃钢。初次联系CSC/Sup:CSO DEL SSD L1

OCEANE–xxxx(票)-Détails du票
客户详细信息 单击以显示更多信息 最后一位客户回电话 :

客户参考 : 下次给客户回电话 : “下一次回拨客户”(小时) 上午12点 : “下一次回拨客户”(分钟) 00 (小时) 上午12点 : (分钟) 00 第三方参考 : 外用:戴安娜 评论 没有找到附件 此表显示了各种注释 情报员 评论 N° 日期 注释类型 操作类型 名称 实体 附件 注释类型 使用者 顾客 系统 全部的 注释列表为空。 传奇
  • 主要评论
  • 此字体颜色用于系统注释

  • 此字体颜色用于客户评论

  • 此字体颜色用于其他注释


如果可能,添加模态的html。在单击按钮之前,再次检查您是否位于包含该按钮的右侧iframe上,同时检查选择器是否找到了右侧按钮。如果你能看到它,并且你有正确的选择器,那么就是错误的iframe。我已经尝试通过containerFrame.get(0+I)在所有iframe中查找元素,其中对于所有iframe,我是从0到4,但找不到正确的iframe。我在谷歌上找不到任何关于在引导模式框中填充元素的答案。它是主窗体内的一个弹出窗体框。可能您在一个iframe中有一个iframe,您需要一步一步地检查它,切换->检查元素等等。请注意,如果iframe重新加载,您可能需要再次切换。我已经添加了html,但由于限制为30000个字符,我无法添加所有内容。iframe通过ajax调用从数据库获取数据。对于需要使用的大型html,请粘贴代码保存并添加url。如果可能,请添加模式的html。在单击按钮之前,再次检查您是否位于包含该按钮的右侧iframe上,同时检查选择器是否找到了右侧按钮。如果你能看到它,并且你有正确的选择器,那么就是错误的iframe。我已经尝试通过containerFrame.get(0+I)在所有iframe中查找元素,其中对于所有iframe,我是从0到4,但找不到正确的iframe。我在谷歌上找不到任何关于在引导模式框中填充元素的答案。它是主窗体内的一个弹出窗体框。可能您在一个iframe中有一个iframe,您需要一步一步地检查它,切换->检查元素等等。请注意,如果iframe重新加载,您可能需要再次切换。我已经添加了html,但由于限制为30000个字符,我无法添加所有内容。iframe通过ajax调用从数据库获取数据。对于需要使用的大型html,请粘贴代码保存并添加url。
new WebDriverWait(driverInstance, timeout).until(ExpectedConditions.elementToBeClickable(byLocator)).click();