Почему происходит сбой Chrome Driver или элементы не находятся в задании Cron? - PullRequest
0 голосов
/ 08 октября 2018

Я создал утилиту с использованием драйверов watir / mechanize и chrome, она отлично работает в разработке.Он не работал в производственной среде, сбой хром-драйвера, поэтому мне пришлось добавить эти строки в начале моего скребка (нашел их в другой теме по stackoverflow)

 args = %w[--disable-infobars --disable-dev-shm-usage --headless --no- 
 sandbox --disable-gpu]
    options = {
     binary: ENV['GOOGLE_CHROME_BIN'],
     prefs: { password_manager_enable: false, 
     credentials_enable_service: false },
     args:  args
  }
  browser = Watir::Browser.new(:chrome, options: options)

Теперь он отлично работает в производственной среде,даже с моей фоновой работой (в основном я запускаю фоновую работу, которая отменяется нажатием кнопки).

У меня также есть другая фоновая работа, на этот раз Cron, которая автоматически очищается раз в две недели.Но по какой-то причине этот не работает.Я получил то же сообщение об ошибке, которое было до добавления всех строк выше

 Selenium::WebDriver::Error::UnknownError: unknown error: Chrome failed 
  to start: crashed (unknown error: DevToolsActivePort file doesn't 
exist) 
 (The process started from chrome location /app/.apt/o...)

Иногда я не получаю это сообщение об ошибке, и утилита запускается с заданием Cron (без меня что-либо меняя), но оно просто можетнайти элементы, которые я хочу (тогда как он работает каждый раз с другим фоновым заданием, не используя Cron, и это точно такой же контент)

Есть ли у вас какие-либо идеи, почему при использовании я использую другое поведение?работа Cron?Я бы понял, если бы у меня была одна и та же ошибка везде, но я не понимаю, почему происходит сбой или не удается найти мои элементы только тогда, когда я использую Cron.И последний вопрос: почему мои ошибки постоянно меняются?Обычно я что-то исправляю, и это работает очень долго, но с Selenium / ChromeDriver кажется, что мне приходится обновлять мой код каждые 3 дня!

Большое спасибо!

...