我使用Selenium 2.32,Java JDK 1.6.0_07,IE9和Windows 7.这是问题
当我使用IE WebDriver 32 Bit并点击打开包含PDF的新浏览器的链接时,PDF会在浏览器中打开,这很好,但是当我使用驱动程序时,新浏览器无法识别。 getWindowHandles()。它始终只返回父窗口。当我使用与IE8相同的代码时,它完全正常,我可以获得新浏览器的URL。
我认为既然它是Windows 7和IE9,我应该使用IE Webdriver 64位,所以我使用IE Webdriver版本2.32.3(64位)。使用此webdriver,当我单击链接时,会弹出新的浏览器,但PDF不会在浏览器中打开,而是作为单独的PDF文件打开。即使在这种情况下,也不会识别新浏览器,并且driver.getWindowHandles()仅返回一个浏览器。
驱动程序不会返回PDF浏览器,也不会返回普通浏览器.getWindowHandles()
我使用等待10秒钟来加载新浏览器,因此没有加载/同步问题。 我想识别新浏览器并获取新浏览器的URL。请帮忙。
答案 0 :(得分:0)
这里的问题是你制造的东西太复杂了。从你的评论来看,你似乎并没有以“典型”和“推荐”的方式做事。如果您正在遵循建议,那么您正在采用稍微更难的路线。我的建议仍然是进一步简化。
如果我猜测你的问题:我注意到你说你正在使用“IEDriverServer”。这告诉我你可能不正确地使用WebDriver。当您使用网格集线器和单独的网格节点时(请参阅此处的链接以获取示例启动说明:https://gist.github.com/djangofan/5174433),那么您应该调用RemoteWebDriver而不是WebDriver,如此(或类似):
WebDriver driver = new RemoteWebDriver (
new URL("http://localhost:4444/wd/hub"),
DesiredCapabilities.firefox()
);
driver.get("http://www.google.com");
答案 1 :(得分:0)
这项工作对我来说: 根本原因:在Windows Vista或Windows 7上的IE 7或更高版本中,必须将每个区域的保护模式设置设置为相同的值。只要每个区域的值相同,该值就可以打开或关闭。要设置保护模式设置,请从“工具”菜单中选择“Internet选项...”,然后单击“安全”选项卡。对于每个区域,标签底部将显示一个标记为“启用保护模式”的复选框。
希望它适合你。