- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行测试,但在管理模式对话框时遇到了意外问题。
用户在模式对话框中上传文件,如果系统上已存在该文件,则会打开另一个单独的模式对话框,询问用户是否要覆盖现有文件。
我在操作第二个对话框上的按钮时遇到困难。
当我管理第一个对话框时,我执行以下操作,该操作有效:
void switch_to_dialog_window(WebDriver driver){
driver.switchTo().frame(driver.findElement(By.cssSelector("div.d2l-dialog>div>iframe")));
}
两个对话框打开时的 html 如下所示:
<div class="d2l-dialog" style="top: 70px; width: 700px; height: 520px; left: 630px; z-index: 1002;">
<div class="d2l-dialog-inner" style="height: 518px;">
<iframe class="d2l-dialog-frame" src="/d2l/common/dialogs/file/main.d2l?ou=11346&af=MyComputer%2cOuFiles%2cSharedFiles%2cgooglefiledownloader%2coffice365filedownloader&am=1&fsc=1&asc=0&mfs=0&afid=0&uih=&area=MyComputer&f=&path=%2fcontent%2fenforced%2f11346-Gherkin_Cucumber%2f&d2l_body_type=2" name="d2l_c_10_968" allowfullscreen="" scrolling="no" style="width: 698px; height: 518px; overflow: hidden;" frameborder="0"/>
</div>
</div>
<div class="d2l-dialog" style="top: 90px; width: 475px; height: 415px; left: 800px; z-index: 1004; display: block;">
<div class="d2l-dialog-inner" style="height: 413px;">
<iframe class="d2l-dialog-frame" src="/d2l/lp/fileinput/11346/Duplicates?files=photo.jpg" name="d2l_c_1_182" allowfullscreen="" scrolling="no" style="width: 473px; height: 413px; overflow: hidden;" frameborder="0"/>
</div>
</div>
我正在尝试控制提到重复项的对话框。
我尝试将 switch_to_dialog_window 的方法修改为更具体(作为识别第一个对话框来控制它的测试):
driver.switchTo().frame(driver.findElement(By.cssSelector("div.d2l-dialog>div>iframe[src^='/d2l/common/dialogs/file/main.d2l']")));
但这不起作用,所以我无法实现这种方式来管理两个对话框。
我尝试切换到默认内容,然后使用“switch_to_dialog_window”方法切换回对话框,但这也不起作用。我尝试直接访问对话框上的按钮,但这不起作用:
public void confirm_duplicate() {
//driver.findElement(By.xpath("//iframe[starts-with(@src, '/d2l/lp/fileinput/11346/Duplicates')]"));
//driver.switchTo().frame(driver.findElement(By.cssSelector("div>div>iframe[src^='/d2l/lp/fileinput/11346/Duplicates']")));
try{
//driver.switchTo().frame(driver.findElement(By.cssSelector("div>div>iframe[name^='d2l_c_1_']")));
driver.findElement(By.linkText("Update")).click();
}catch(Exception e)
{
System.out.println("could not click on the Update button on the top most dialog box");
e.printStackTrace();
}
}
我似乎在绕着这个转圈,而且很累。有人可以解释如何控制这个最上面的对话框吗?
您也可以教我为什么以下表达式不起作用:
driver.switchTo().frame(driver.findElement(By.cssSelector("div.d2l-dialog>div>iframe[src^='/d2l/common/dialogs/file/main.d2l']")));
最佳答案
如果切换到框架出现问题,可以使用机器人 API 来获取最顶层模态框的句柄。
要使用机器人 API,请提供以下代码行
Robot key = new Robot();
key.keyPress(KeyEvent.VK_ENTER);
key.keyRelease(KeyEvent.VK_ENTER);
确保控件已位于预期按钮上。如果焦点位于模式上的另一个按钮上,则提供“tab”或其他键事件以获取更新按钮上的控件。
关于java - 多个模式对话框,无法选择最上面的一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42289881/
我认为这应该不是一个大问题,但我自己找不到解决方案。一如既往:p 我有一个 UIWebView,其背景颜色设置为clearColor,但是当我尝试向下滚动太多时,我会在加载的 HTML 上方看到深灰色
我注意到,每当我重新安装我的应用程序时,IdentifierForVendor 都会不断变化。有没有办法让我的设备拥有相同的标识符?问题是,我需要确保标识符相同,因为我有一个备份系统,即使在删除并重新
一切都在标题中。 我有一个带有单元格的 UITableView。 cells 有一个Shadow (self.layer.shadow...)。 问题是一个单元格的阴影重叠上方的单元格。我怎样才能防止
我正在尝试创建一个切换开关,您可以在其中点击一侧,然后背景会滑过以使该侧“处于事件状态”。 为了适应可变宽度,我使用 display: table 设置了切换的两侧。这很好用。然后,我将第三个 div
我是一名优秀的程序员,十分优秀!