Java 无法访问selenium中引导模式框上的关闭按钮
我正在用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 {
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();