Привет!
При написании парсера использовал Selenium c webriver Chrome. Все замечательно работает, но при запуске открывает окно браузера. Код следующий:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select
from datetime import datetime, timedelta
from pyvirtualdisplay import Display
from selenium.webdriver.chrome.options import Options
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get('https://www.itau.com.br')
Чтобы запустить его фоном прочитал что нужно запустить виртуальный дисплей, сделал:
display = Display(visible=0, size=(800, 600))
display.start()
Но окно Chrome все равно вылезает! Нашел что можно добавить опцию "не открывать окно", добавил:
chrome_options = Options()
chrome_options.add_argument("--no-startup-window")
Вот тут то и стала вылезать ошибка:
browser = webdriver.Chrome(chrome_options=chrome_options)
File "/Users/Lutchenko/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 69, in __init__
desired_capabilities=desired_capabilities)
File "/Users/Lutchenko/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/Users/Lutchenko/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
File "/Users/Lutchenko/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/Users/Lutchenko/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open pages
(Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cfd9),platform=Mac OS X 10.12.2 x86_64)
Есть соображения почему она вылезает или какой-нибудь другой способ скрыть окно или запускать в фоновом режиме?