Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer Selenium IE WebDriver无法看到任何窗口_Internet Explorer_Selenium_Selenium Webdriver - Fatal编程技术网

Internet explorer Selenium IE WebDriver无法看到任何窗口

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

我使用SeleniumWebDriver浏览一系列页面,最终页面被重定向到外部支付页面。重定向的是现有窗口,而不是打开的新窗口。但是,如果在重定向后尝试与任何对象交互,则会出现异常
无法在关闭的窗口中找到元素。该页面需要登录,因此我无法提供链接供您使用

我做了一些调试,发现在付款页面的某一点,
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设置的问题。我甚至无法尝试找到任何元素,因为我丢失了窗口句柄=(在您实例化
浏览器的地方
?我真的很难理解您的代码流。完成了吗?对不起,浏览器==驱动程序。在本例中重命名它时忽略了这一点…但这不是我遇到问题的原因。