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
Selenium WebDriverException:尝试关闭多个窗口时无法访问chrome_Selenium_Qt_Selenium Chromedriver - Fatal编程技术网

Selenium WebDriverException:尝试关闭多个窗口时无法访问chrome

Selenium WebDriverException:尝试关闭多个窗口时无法访问chrome,selenium,qt,selenium-chromedriver,Selenium,Qt,Selenium Chromedriver,我正在使用Selenium Java测试一个应用程序,该应用程序实现了基于QT Chrome的浏览器,并显示了我需要在该浏览器中测试的网页。我使用的是ChromeDriver 2.43.600233 并将应用程序名称设置为“Chrome”,版本设置为“69.0.3497.128” 使用所有选项卡上的循环和driver.close()关闭应用程序时,我不会遇到任何问题,直到网页在单独的窗口中打开另一页。尝试通过主窗口中的选项卡或第二个窗口中的选项卡开始循环所有选项卡会引发该异常 Exception

我正在使用Selenium Java测试一个应用程序,该应用程序实现了基于QT Chrome的浏览器,并显示了我需要在该浏览器中测试的网页。我使用的是ChromeDriver 2.43.600233 并将应用程序名称设置为“Chrome”,版本设置为“69.0.3497.128”

使用所有选项卡上的循环和
driver.close()
关闭应用程序时,我不会遇到任何问题,直到网页在单独的窗口中打开另一页。尝试通过主窗口中的选项卡或第二个窗口中的选项卡开始循环所有选项卡会引发该异常

Exception in thread "main" org.openqa.selenium.WebDriverException: chrome not reachable
在第一次调用
driver.close()
时。我尝试用替换
driver.close()

((JavascriptExecutor)driver).executeScript("window.open('','_self').close()");
但它失败了,只有一个例外。 如果我的窗口中有多个选项卡,并且我通过关闭第一个窗口中的选项卡来启动循环,
driver.close()
仅在主窗口中的最后一个选项卡失败时才会启动循环。然后,切换到第二个窗口中的选项卡失败,出现相同的异常。从第二个窗口中的选项卡开始,窗口成功关闭,但我得到一个弹出窗口

你确定要关闭窗口吗?有两个选项卡打开

它属于主窗口,尽管我仍然没有切换到主窗口中的任何选项卡,并且代码在调用
driver.close()
发出到第二个窗口中的选项卡时停止,直到超时。但是,我尝试使用中提到的解决方案禁用弹出窗口 但我还是会弹出窗口

driver.quit()对我来说从来都不起作用,即使是在一个选项卡上,它也会打印出来

May 05, 2021 1:14:36 PM org.openqa.selenium.os.UnixProcess destroy
INFO: Command failed to close cleanly. Destroying forcefully (v2). [/u/prod/chromedriver/chromedriver, --port=17129][ {}]
May 05, 2021 1:14:37 PM org.openqa.selenium.os.UnixProcess destroy
SEVERE: Unable to kill process with PID 7949

应用程序永远不会关闭,而且我也找不到任何具有上述进程id的进程。

要关闭浏览器窗口(初始窗口除外),您需要将驱动程序切换到该窗口。看,我想关闭所有窗口,而不仅仅是第一个窗口。我尝试循环并切换到所有窗口处理程序,但这给了我与使用选项卡相同的结果。出于某种原因,尽管我在一个窗口中有两个选项卡,在另一个窗口中有一个选项卡,但我得到了3个窗口处理程序。