gpt4 book ai didi

java - Selenium 2.32、Java 1.6.0_07、IE Webdriver(32 位和 64 位)、IE9 - getWindowHandles 仅返回一个浏览器

转载 作者:行者123 更新时间:2023-11-29 09:02:25 28 4
gpt4 key购买 nike

我在 Windows 7 上使用 Selenium 2.32、Java JDK 1.6.0_07、IE9。这就是问题所在

  1. 当我使用 IE WebDriver 32 位并单击打开包含 PDF 的新浏览器的链接时,PDF 会在浏览器本身中打开,这很好,但是当我使用驱动程序时无法识别新浏览器。获取窗口句柄()。它总是只返回父窗口。当我在 IE8 上使用相同的代码时,它工作得非常好,我能够获得新浏览器的 URL。

  2. 我认为既然是 Windows 7 和 IE9,我应该使用 IE Webdriver 64 位,所以我使用了 IE Webdriver 版本 2.32.3(64 位)。使用此 webdriver,当我单击链接时,会弹出新的浏览器,但 PDF 不会在浏览器中打开,而是作为单独的 PDF 文件打开。即使在这种情况下,也无法识别新浏览器,并且 driver.getWindowHandles() 仅返回一个浏览器。

driver.getWindowHandles() 不返回 PDF 浏览器,普通浏览器也不返回

我正在等待 10 秒来加载新浏览器,因此没有加载/同步问题。我想识别新浏览器并获取新浏览器的 URL。请帮忙。

最佳答案

这里的问题是你把事情搞得太复杂了。从您的评论来看,您似乎没有以“典型”和“推荐”的方式做事。如果你听从建议,那么你就是在走稍微难一点的路。我的建议仍然是进一步简化。

如果我猜测您的问题:我注意到您说您正在使用“IEDriverServer”。这告诉我你可能没有正确使用 WebDriver。当您使用 Grid Hub 和单独的 Grid Node(请在此处查看我的链接以获取示例启动说明: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");

关于java - Selenium 2.32、Java 1.6.0_07、IE Webdriver(32 位和 64 位)、IE9 - getWindowHandles 仅返回一个浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16587649/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com