Internet explorer Selenium IE WebDriver无法看到任何窗口
我使用SeleniumWebDriver浏览一系列页面,最终页面被重定向到外部支付页面。重定向的是现有窗口,而不是打开的新窗口。但是,如果在重定向后尝试与任何对象交互,则会出现异常Internet explorer Selenium IE WebDriver无法看到任何窗口,internet-explorer,selenium,selenium-webdriver,Internet Explorer,Selenium,Selenium Webdriver,我使用SeleniumWebDriver浏览一系列页面,最终页面被重定向到外部支付页面。重定向的是现有窗口,而不是打开的新窗口。但是,如果在重定向后尝试与任何对象交互,则会出现异常无法在关闭的窗口中找到元素。该页面需要登录,因此我无法提供链接供您使用 我做了一些调试,发现在付款页面的某一点,driver.WindowHandles返回一个空集合,并且driver.CurrentWindowHandle将抛出NoSuchWindowException 我正在使用IE8和WebDriver 2.44
无法在关闭的窗口中找到元素。该页面需要登录,因此我无法提供链接供您使用
我做了一些调试,发现在付款页面的某一点,driver.WindowHandles
返回一个空集合,并且driver.CurrentWindowHandle
将抛出NoSuchWindowException
我正在使用IE8和WebDriver 2.44.0.0 32位。我已经使用了推荐的IE设置,但没有找到任何帮助。有人知道我的WebDriver为什么会丢失句柄吗
请注意,这适用于Chrome和Firefox驱动程序
例如:
public void Test()
{
var driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl(site);
var check1 = driver.WindowHandles; // 1 window exists here
driver.FindElement(elementA).Click();
System.Sleep(10000);
var check2 = driver.WindowHandles; // 0 windows exist here
driver.FindElement(elementB).Click();
}
您应该使用显式等待,直到您的元素可见,然后只有selenium才能找到它。如果你分享你的代码,那么可以更好地帮助你。嗨,帮手,我有一个明确的等待10秒(页面加载时间<1秒),以确保它在那里,但没有交易。代码没有帮助,因为它实际上只是2次点击,第一次有效,第二次无效。。。无论如何,我会添加这个例子是的,在Chrome和Firefox中工作得很好。。。这肯定是IEWebDriver或我的IE设置的问题。我甚至无法尝试找到任何元素,因为我丢失了窗口句柄=(在您实例化浏览器的地方
?我真的很难理解您的代码流。完成了吗?对不起,浏览器==驱动程序。在本例中重命名它时忽略了这一点…但这不是我遇到问题的原因。