Java AutoIt已成功浏览文件,但webdriver生成了“UnreachableBrowserException';错误

Java AutoIt已成功浏览文件,但webdriver生成了“UnreachableBrowserException';错误,java,eclipse,selenium-webdriver,autoit,Java,Eclipse,Selenium Webdriver,Autoit,使用controlFocus方法: ControlFocus("File Upload", "", "Edit1") ControlSetText("File Upload", "", "Edit1", "C:\Test.2.0.war") ControlClick("File Upload", "", "Button1" AutoIt在Firefox中成功浏览并打开了一个文件,但显示了正确的文件名;在此之后,Selenium webdriver无法单击上载按钮,引发错误: 无法访问浏览器异常

使用controlFocus方法:

ControlFocus("File Upload", "", "Edit1")
ControlSetText("File Upload", "", "Edit1", "C:\Test.2.0.war")
ControlClick("File Upload", "", "Button1"
AutoIt在Firefox中成功浏览并打开了一个文件,但显示了正确的文件名;在此之后,Selenium webdriver无法单击上载按钮,引发错误:

无法访问浏览器异常:与远程浏览器通信时出错。

使用的webdriver代码是:

Runtime.getRuntime().exec("D:\\AutoIT\\FileUpload.exe");
Thread.sleep(5000);

可能有什么问题?

此问题的主要原因是多个gecko驱动程序在后台运行。解决方法:转到任务管理器(Ctrl+Alt+Delete),在“进程”选项卡的“后台进程”下,终止所有gecko驱动程序实例并重新运行webdriver。这对我很有效,消除了
无法访问的浏览器异常:与远程浏览器通信时出错
错误

要添加到@AutoQA漂亮的答案,最好在
finally
子句(或
@AfterClass
中)中使用
driver.dispose()
,或者制作一个脚本,以类似以下内容结束这些实例(对于Windows):


无需使用Autoit,Selenium通过调用web元素
上的
sendKeys
来支持文件上载。sendKeys在所有情况下都不起作用。对于这个项目,它可以在chrome中工作,但不能在Firefox中工作。浏览并打开文件路径后,Firefox禁用了上载按钮。AutoIT修复了该问题。可以使用Firefox上载文件,但根据浏览器和驱动程序的版本,您可能需要使用
executeScript
应用解决方法来显示
或触发
更改
事件。
taskkill /F /IM geckodriver.exe