2017-10-18 121 views
-1

我尝试运行在Linux machine.But硒程序我得到异常:webdriver的例外:进程意外关闭状态:1

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 154, in __init__ 
    keep_alive=True) 
    File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 151, in __init__ 
    self.start_session(desired_capabilities, browser_profile) 
    File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 240, in start_session 
    response = self.execute(Command.NEW_SESSION, parameters) 
    File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 308, in execute 
    self.error_handler.check_response(response) 
    File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status: 1 

如何解决的例外?感谢您的帮助。

+1

你是什么意思*修复异常*?分享您的代码 – Andersson

+0

请仔细阅读[问],特别是关于[mcve](MCVE)的部分,以及[预计需要多少研究工作?](https://meta.stackoverflow.com/questions/261592/how-much-研究工作量是预期的堆栈溢出用户)这将帮助您调试自己的程序并为自己解决问题。如果你这样做并且仍然卡住,你可以回过头来发布你的MCVE,你试过的,以及执行结果,包括任何错误信息,这样我们可以更好地帮助你。还提供了一个链接到页面和/或相关的HTML。 – JeffC

回答

1

很难确定没有更多信息,但是当您使用的浏览器版本与您使用的底层webdriver不兼容时,通常会发生这种情况。

请确保它们是兼容的,例如通过升级您的webdriver,并且应该解决此问题。

5

当您尝试在没有显示器的盒子(如Ubuntu服务器)上以非无头模式运行浏览器时,可能会出现此错误。

您可以检查,如果这是你的Process unexpectedly closed with status: 1错误通过查看geckodriver.log文件通常在工作目录留给你运行你的脚本后的原因,它应该有这样一行:

Error: GDK_BACKEND does not match available displays 

如果你看到geckodriver.log该行,那么你就需要切换你的脚本在无头的模式下运行的Firefox:

from selenium import webdriver 
from selenium.webdriver import FirefoxOptions 

opts = FirefoxOptions() 
opts.add_argument("--headless") 
browser = webdriver.Firefox(firefox_options=opts) 

browser.get('http://example.com')