环境: Win 7,Selenium 3.0.0 beta,FireFox- 49.0.1
System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
WebDriver driver=new FirefoxDriver();
问题1:
命令:driver.close();
或((FirefoxDriver) driver).kill();
预期结果:浏览器应关闭。
实际结果:浏览器未关闭。
问题2:
命令:driver.quit();
预期结果:浏览器应关闭。
实际结果:Firefox崩溃了。
获取错误:“FireFox的插件容器已停止工作。”
任何建议......
答案 0 :(得分:3)
解决方法直到我们对此进行具体修复。虽然有几篇帖子表明这已经在50及以上版本中得到修复,但事实是这并不是一贯的。我在Windows 7和驱动程序的两台机器上安装了最新版本54。使用相同的Java和Selenium版本,Quit在一个上运行正常,而在其他版本上运行正常。作为替代方案,为了在Windows机器上执行,以下代码将有助于终止Firefox的所有相关进程。
while (bytesRead > -1 && current<FILE_SIZE)
答案 1 :(得分:2)
以下解决方案在Windows7上使用Firefox49,Selenium 3.0.1,Python 3.5和geckodriver-v0.11.1进行了测试,并且运行正常。
import os
然后致电
os.system('tskill plugin-container')
在致电driver.quit()
答案 2 :(得分:1)
你做不到。这是一个仍然是开放的当前错误。 因此,在Windows操作系统上,如果有人试图杀死FireFox驱动程序,则会出现错误:“获取错误:”FireFox的插件容器已停止工作。“
我认为此问题至今仍未解决:https://github.com/SeleniumHQ/selenium/issues/2701
此问题在其他操作系统和ChromeDriver cloese上没有问题。这只是FireFox和geckodriver。
答案 3 :(得分:0)
这是sendkeys unicodes的临时解决方法:
Actions builder = new Actions(driver);
builder.keyDown(Keys.ALT).sendKeys(String.valueOf('\u0066'));
builder.sendKeys(String.valueOf('\u0058'));
builder.perform();
答案 4 :(得分:0)
答案 5 :(得分:0)
我尝试在Windows机器上运行测试的简单解决方案是在使用geckodriver的firefox浏览器的driver.quit()或driver.close()之前添加此代码
try {
Runtime.getRuntime().exec("taskkill /F /IM geckodriver.exe");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 6 :(得分:0)
我有类似的问题,解决方案正在设置
“browser.tabs.remote.autostart.2”= false
在浏览器配置文件首选项中。
答案 7 :(得分:0)
driver.quit()
确实为我效果
driver.close()
没有。
使用鼠标实际单击关闭按钮不起作用。
在Ubuntu 16.04上使用Python 3.6, Selenium 3.4.3 和geckodriver v.0.18.0
。
答案 8 :(得分:0)
已修复并为我使用Firefox 76.0.1(64位),geckodriver-v0.26.0-win64,Selenium 3.141.0,Python 3.8。
driver.close()
关闭焦点标签
driver.quit()
关闭所有窗口并结束webdriver会话
答案 9 :(得分:-2)
Driver.close()应该没有任何问题。
我们遇到了driver.quit();
的问题