У меня есть длинное приложение python, которое будет периодически (каждые 30-60 секунд) открывать веб-страницу с помощью драйвера selenium и chrome, запускать javascript и делать снимок экрана. Его запуск на экземпляре EC2 ubuntu с хром в Xvfb и по большей части все работает, за исключением прерывистой программы. Это происходит на одной из этих линий:Selenium Chromedriver Hangs?
options = Options()
options.add_argument("--disable-web-security")
options.add_argument("--webdriver-logfile=webdrive.log")
dc = DesiredCapabilities.CHROME
dc['loggingPrefs'] = {'browser': 'ALL'}
driver = webdriver.Chrome(chrome_options=options, desired_capabilities=dc)
driver.get(url);
(у меня нет точной линии, но я знаю от отладки заявления я поставивший в том, что он находится где-то между здесь)
К сожалению, программа не падает, поэтому у нее нет сообщений об ошибках, ее просто бесконечно ждут с 7 вечера прошлой ночью. Запуск strace -p 'python program pid'
возвращается: wait4(-1,
и работает strace -p 'chromedriver pid'
возвращается recvfrom(20,
я могу видеть в ps axjf
, что процесс все еще работает, его просто ничего не делает. Я как бы теряю то, что сейчас делать, любые предложения?
chromedriver: 2.10.267518
Google Chrome 40.0.2214.111
Селена (устанавливаются с пипом): 2.42.1
#https://github.com/cgoldberg/xvfbwrapper
xvfb = Xvfb(width=1920, height=1920)
xvfb.start()
---- EDIT ----
Я только что обновил до ChromeDriver 2.14.313457
и Selenium 2.44.0
, надеюсь, это исправит проблему. На данный момент я оставлю это открытым. Спасибо за совет до сих пор ребята!
---- EDIT ----
Так служба еще в конечном итоге висит. Мне интересно, если это потому, что для каждого снимка экрана я закрываю и перезапускаю google-chrome? Возможно, это вызвало утечку памяти? Как я могу диагностировать это?
Он зависает, если параметры хром не указаны? Какие версии селена и хрома вы используете? – alecxe
Также попробуйте добавить сообщения отладочного журнала и посмотреть, на какой строке он висит. Также покажите, как запустить 'xvfb'. Благодарю. – alecxe
см. Мои правки. Я добавлял сообщения отладки за несколько раз, что это произошло, хотя я думаю, что я недостаточно полно. – Trevor