【发布时间】:2020-04-13 17:45:01
【问题描述】:
我有一个在 AWS 上的 EC2 实例 (ubuntu) 上运行的 python 脚本。它使用硒。它运行了好几个星期,然后突然之间,今天,它停止工作并出现以下错误:
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 79
这是我在 ubuntu 上运行的 python 脚本:
#install dependencies
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import ElementNotVisibleException
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#Set up chromedriver
options = Options()
options.add_argument('--no-sandbox')
options.add_argument('--window-size=1420,1080')
options.add_argument('--headless')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-gpu')
options.add_argument("--disable-notifications")
driver = webdriver.Chrome(chrome_options=options)
奇怪的是 chromedriver 和 chromium-browser 似乎兼容。
在运行chromedriver -v 时,我看到的版本是:
ChromeDriver 79.0.3945.79 (29f75ce3f42b007bd80361b0dfcfee3a13ff90b8-refs/branch-heads/3945@{#916})
然后,运行 chromium-browser --version 我得到:
Chromium 79.0.3945.79 Built on Ubuntu , running on Ubuntu 18.04
在运行chromium-browser -v 时,我明白了:
(chromium-browser:2901): Gtk-WARNING **: 17:28:14.613: cannot open display:
我希望回答的两个问题:
怎么可能工作了几个星期,然后突然之间,chromedriver 和 chrome 决定不合作了?是不是 chromedriver 或 chrome 都更新了,而另一个没有更新?除了更新从 crontab 运行脚本的时间之外,我没有更改任何内容。
当我的 chromedriver 和 chrome 浏览器版本完全相同时,为什么会出现此错误?让 chromedriver 在 ubuntu 上使用 chrome(无头)是一个非常漫长的过程,如果可能的话,我想“设置它并忘记它”。寻找远方以更好地理解这个问题,这样我就可以避免它一次又一次地发生。
谢谢。
【问题讨论】:
标签: python selenium google-chrome ubuntu selenium-chromedriver