Selenium 在windows10上的IE11中切换窗口时出错
我正在windows 10上的IE11中运行selenium脚本,每当我尝试切换到新窗口时,都会看到下面的内容:Selenium 在windows10上的IE11中切换窗口时出错,selenium,internet-explorer,windows-10,Selenium,Internet Explorer,Windows 10,我正在windows 10上的IE11中运行selenium脚本,每当我尝试切换到新窗口时,都会看到下面的内容: 检索当前窗口时出错 无法获取浏览器 然而,同样的代码在Windows7上的IE11中运行良好。我尝试过为IE更改regedit并尝试设置功能。仍然面临着这个问题。是否有人可以建议解决此问题的方法?建议您在发布任何问题时发布示例代码,以帮助社区成员理解此问题并帮助进行测试 你说你修改了一些注册表设置。我建议您重新设置这些注册表并重新设置IE浏览器 尝试使用下面的C代码示例可能有助于切换
然而,同样的代码在Windows7上的IE11中运行良好。我尝试过为IE更改regedit并尝试设置功能。仍然面临着这个问题。是否有人可以建议解决此问题的方法?建议您在发布任何问题时发布示例代码,以帮助社区成员理解此问题并帮助进行测试 你说你修改了一些注册表设置。我建议您重新设置这些注册表并重新设置IE浏览器 尝试使用下面的C代码示例可能有助于切换窗口
//switch to new window.
driver.SwitchTo().Window(driver.WindowHandles.Last());
//if you want to switch back to your first window
driver.SwitchTo().Window(driver.WindowHandles.First());
下面是一个通过比较窗口标题切换到新窗口的C#示例
protected static Boolean SwitchWindow(string title)
{
var currentWindow = driver.CurrentWindowHandle;
var availableWindows = new List<string>(driver.WindowHandles);
foreach (string w in availableWindows)
{
if (w != currentWindow)
{
driver.SwitchTo().Window(w);
if (driver.Title == title)
return true;
else
{
driver.SwitchTo().Window(currentWindow);
}
}
}
return false;
}
受保护的静态布尔开关窗口(字符串标题)
{
var currentWindow=driver.CurrentWindowHandle;
var availableWindows=新列表(driver.WindowHandles);
foreach(可用窗口中的字符串w)
{
如果(w!=当前窗口)
{
驱动程序切换到()窗口(w);
if(driver.Title==标题)
返回true;
其他的
{
driver.SwitchTo()窗口(currentWindow);
}
}
}
返回false;
}
参考资料:
(一)
(二)
(三)
如果问题仍然存在,请尝试提供有关问题的详细信息。我们将尝试测试该问题,以找到问题的原因。两台主机上都在运行哪个版本的IE11?您使用的是哪个Selenium版本?向我们展示如何设置iedriver。