7

Env: chromedriver 2.9, google-chrome-stabile 34, Python 2.6, CentOS6.4 x86_64 finaleChrome non è stato avviato su CentOS usando chromedriver2.9

installo google-chrome-stabile (non cromo) seguire install-chrome.sh . Può estrarre i pacchetti da fedoraproject e installare tali pacchetti su /opt/google/chrome/lib. Installare chromedriver2.9 seguire link. Posso eseguire google-chrome e chromedriver manualmente senza errori. Installare il selenio per pip install selenium (selenio 2,41). Il selenio è installato su /usr/lib/python2.6/site-packages/. Google Chrome installato in questo modo sembra non essere autorizzato ad aprire come root.

Quando eseguire codice python sotto consolle con l'utente non root come segue:

>>> from selenium import webdriver 
>>> driver = webdriver.Chrome() 

E tornare messaggio di errore come seguire invece di openning cromato.

Traceback (most recent call last): 
    File "<stdin>", line 3, in <module> 
    File "/usr/lib/python2.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 65, in __init__ 
    keep_alive=True) 
    File "/usr/lib/python2.6/site-packages/selenium/webdriver/remote/webdriver.py", line 72, in __init__ 
    self.start_session(desired_capabilities, browser_profile) 
    File "/usr/lib/python2.6/site-packages/selenium/webdriver/remote/webdriver.py", line 115, in start_session 
    'desiredCapabilities': desired_capabilities, 
    File "/usr/lib/python2.6/site-packages/selenium/webdriver/remote/webdriver.py", line 166, in execute 
    self.error_handler.check_response(response) 
    File "/usr/lib/python2.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 164, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.WebDriverException: Message: u'unknown error: Chrome failed to start: crashed\n (Driver info: chromedriver=2.9.248304,platform=Linux 2.6.32-358.el6.x86_64 x86_64)' 

Ricevo registro segui il collegamento Unknown error: Chrome failed to start: exited abnormally. Non c'è soluzione su quel link. Cosa dovrei fare? Grazie.

[0.987][INFO]: COMMAND InitSession { 
    "desiredCapabilities": { 
     "browserName": "chrome", 
     "chromeOptions": { 
     "args": [ ], 
     "extensions": [ ] 
     }, 
     "javascriptEnabled": true, 
     "platform": "ANY", 
     "version": "" 
    }, 
    "sessionId": null 
} 
[0.987][INFO]: Populating Preferences file: { 
    "alternate_error_pages": { 
     "enabled": false 
    }, 
    "autofill": { 
     "enabled": false 
    }, 
    "browser": { 
     "check_default_browser": false 
    }, 
    "distribution": { 
     "import_bookmarks": false, 
     "import_history": false, 
     "import_search_engine": false, 
     "make_chrome_default_for_user": false, 
     "show_welcome_page": false, 
     "skip_first_run_ui": true 
    }, 
    "dns_prefetching": { 
     "enabled": false 
    }, 
    "profile": { 
     "content_settings": { 
     "pattern_pairs": { 
      "https://*,*": { 
       "media-stream": { 
        "audio": "Default", 
        "video": "Default" 
       } 
      } 
     } 
     }, 
     "default_content_settings": { 
     "geolocation": 1, 
     "mouselock": 1, 
     "notifications": 1, 
     "popups": 1, 
     "ppapi-broker": 1 
     }, 
     "password_manager_enabled": false 
    }, 
    "safebrowsing": { 
     "enabled": false 
    }, 
    "search": { 
     "suggest_enabled": false 
    }, 
    "translate": { 
     "enabled": false 
    } 
} 
[0.988][INFO]: Populating Local State file: { 
    "background_mode": { 
     "enabled": false 
    }, 
    "ssl": { 
     "rev_checking": { 
     "enabled": false 
     } 
    } 
} 
[0.988][INFO]: Launching chrome: /opt/google/chrome/google-chrome --disable-background-networking --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --disable-hang-monitor --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-logging --full-memory-crash-report --ignore-certificate-errors --load-extension=/tmp/.com.google.Chrome.NnyvZ9/internal --logging-level=1 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12775 --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --use-mock-keychain --user-data-dir=/tmp/.com.google.Chrome.AtCYvH data:, 
[0.989][DEBUG]: DevTools request: http://127.0.0.1:12775/json/version 
[0.991][WARNING]: PAC support disabled because there is no system implementation 
[1.034][DEBUG]: DevTools request failed 
[1.084][DEBUG]: DevTools request: http://127.0.0.1:12775/json/version 
[1.085][DEBUG]: DevTools request failed 
[1.135][DEBUG]: DevTools request: http://127.0.0.1:12775/json/version 
[1.136][DEBUG]: DevTools request failed 

..... 
..... 

[61.022][DEBUG]: DevTools request: http://127.0.0.1:12775/json/version 
[61.024][DEBUG]: DevTools request failed 
[61.024][INFO]: RESPONSE InitSession unknown error: Chrome failed to start: crashed 
[61.025][DEBUG]: Log type 'driver' lost 0 entries on destruction 
[61.025][DEBUG]: Log type 'browser' lost 0 entries on destruction 

Sono confuso su queste DevTools cose, neanche.

+0

Mi sono perso qualcosa? Vuoi dire Selenium WebDriver 2.9.0? È incredibile vecchia versione della biblioteca. – olyv

+0

Ho scaricato chromedriver [qui] (http://chromedriver.storage.googleapis.com/index.html). Dovrebbe essere l'ultimo. –

+0

scusate, è Chromedriver 2.9. Non webdriver2.9. L'ho modificato –

risposta

1

Stai usando senza testa? In tal caso, sarà necessario specificare la visualizzazione headless tramite pyvirtualdisplay.

Ho avuto lo stesso errore (log) quando eseguivo il selenio senza testa senza dire al selenio di usare il display. Dopo aver installato pyvirtualdisplay, il seguente codice funziona per me:

from selenium import webdriver 
from pyvirtualdisplay import Display 

display = Display(visible=0, size=(800, 600)) 
display.start() 
driver = webdriver.Chrome() 
driver.get("http://www.google.com") 
print driver.page_source.encode('utf-8') 
driver.quit() 
display.stop()