- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我单击代码“Go”中的一个按钮,这将打开一个新窗口。当我检查任务管理器时,我可以看到 IE 的实例为 2,但 getWindowHandles() 无法获取新打开的窗口的句柄,仅返回父窗口句柄。
我用来执行此操作的代码是:
SeleniumUtils.clickOnElement(webDriver, By.xpath("//input[@name='Go' and @value='Go']"), "Click on Go", reporter);
SeleniumUtils.waitLoading(SeleniumUtils.WAIT_LONG);
List<String> windowsList = new ArrayList<>();
String parentWindow = webDriver.getWindowHandle();
windowsList.add(parentWindow);
String emailWindow = SeleniumUtils.changeDriverToTheNewWindow(webDriver, windowsList, windowsList.size()+1);
windowsList.add(emailWindow);
为了切换到新窗口,我编写了一个函数:
public static String changeDriverToTheNewWindow(WebDriver webDriver, List<String> previousWindows, int numberOfWindows) {
try {
JavascriptExecutor jsExecuter = (JavascriptExecutor) webDriver;
Set<String> windows = Collections.emptySet();
try
{
WebDriverWait wait = new WebDriverWait (webDriver, 5);
wait.until(ExpectedConditions.numberOfWindowsToBe(numberOfWindows));
windows = webDriver.getWindowHandles();
}catch(Exception e) {
lLogger.error("Error getting the window handles.", e);
windows = webDriver.getWindowHandles();
}
for (String windowId : windows) {
if (!previousWindows.contains(windowId)) {
webDriver.switchTo().window(windowId);
jsExecuter.executeScript("window.focus");
//changeDriverToWindow(webDriver, windowId);
return windowId;
}
}
} catch (Exception e) {
lLogger.error("Error changing driver to the new window!", e);
}
return null;
}
打开窗口的 HTML 和 JS 代码是:
<td class="xyz-column">
<link href="../Content/css/XYZ.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function onMouseOver(control) {
control.src = '../Content/images/lookup.png';
}
function onMouseOut(control) {
control.src = '../Content/images/btn_lookup.png';
}
</script>
<span class="xyz-link" id="body_XYZSelector_XYZLookup_LookupName" style="width: 175px; height: 18px; display: inline-block;" onclick="OpenXYZ(GetCurrentLookupId(this),'42e7a262-36ef-e911-80f1-005056aea4ce','10001'); return false;"> SHARANA </span>
<img class="xyz-lookup" id="body_XYZSelector_XYZLookup_LookupImage" onmouseover="onMouseOver(this);" onmouseout="onMouseOut(this);" onclick="OpenLookUp(this);" alt="Browse" src="../Content/images/btn_lookup.png" entitytype="xyz">
<input name="ctl00$body$XYZSelector$XYZLookup$LookupHiddenId" id="body_XYZSelector_XYZLookup_LookupHiddenId" type="hidden" value="56765">
<input name="ctl00$body$XYZSelector$XYZLookup$LookupHiddenName" id="body_XYZSelector_XYZLookup_LookupHiddenName" type="hidden" value="SHARANA">
<input name="ctl00$body$XYZSelector$XYZLookup$LookupHiddenId" id="body_XYZSelector_XYZLookup_LookupHiddenId" type="hidden" value="fd878f2b-90a2-4bf0-8a00-daa007b64b7d">
</td>
最佳答案
我找到了解决问题的方法。只需确保遵循 Solution 中看到的所有步骤即可。由@DebanjanB 回答。
更具体地说,就我而言,它是...
InternetExplorerOptions 选项 = new InternetExplorerOptions();
选项.merge(cap);
WebDriver 驱动程序 = new InternetExplorerDriver(options);
如您在 Solution 1 中看到的那样和
ieCapability.setCapability("requireWindowFocus", false);
如您在 Solution 2 中看到的那样
添加这两个之后,驱动程序就能够正确获取窗口句柄了。
关于java - 无法使用java获取IE中新打开的窗口的句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58235349/
我设置了 Helm 柄和 Helm 柄。我有tiller-deploy。昨天,我可以定期运行了。但今天我收到此错误消息 Error: could not find a ready tiller pod
我以前已将分er安装到特定的 namespace 中。 我设置了一个环境变量来设置'tiller'命名空间-但我不记得该环境变量的名称-而且似乎无法通过网络搜索找到它。 这是什么 key ? 最佳答案
当我在 View 模型中使用如下界面时 class MainViewModel @ViewModelInject constructor( private val trafficImagesR
我正在尝试找到如何在某个 fragment 相关场景中定义 Hilt 的解决方案。我有以下设置: Activity 父 fragment 1 子 fragment 1 子 fragment 2 ...
Hilt 指出如果没有@Provides 注解就不能提供这个接口(interface): interface PlannedListRepository { fun getAllLists()
我的问题非常简单明了:两个注释/示例之间有什么区别: 例子一 @Singleton class MySingletonClass() {} @Module @InstallIn(FragmentCom
我是一名优秀的程序员,十分优秀!