我试图在 linux 上启动 chrome 网络驱动程序,但它挂起,然后关闭

I'm trying to start the chrome webdriver on linux, but it hangs, then closes

我正在用 selenium (python) 制作一个程序。它正在工作,但无处不在,网络驱动程序不再工作。我正在 windows 环境中开发(它工作正常),但是一旦我将代码上传到生产服务器 (Ubuntu),我尝试打开网络驱动程序,它只显示 data;,驱动程序挂起,然后关闭。之后没有代码继续。

示例:

print("Starting web driver")
driver = webdriver.Chrome(driver_path, options=opt)
print("Opening URL") # This code doesn't run
driver.get(config.url) # This code doesn't run

我尝试过的事情:

编辑:我正在 运行ning python3.7,chrome webdriver V 75.0.3770.90

Edit2:driver_path 变量是 chromedriver 文件的相对路径。 opt 是我的 chrome 选项列表:

opt = Options()
opt.add_argument('--no-sandbox')
opt.add_argument('--disable-dev-shm-usage')
profile = {"plugins.always_open_pdf_externally": True,
           "download.default_directory": download_directory,
           "download.prompt_for_download": False,
           "download.directory_upgrade": True}
opt.add_experimental_option("prefs", profile)

我也使用 gunicorn 作为我的网络服务器,但是 运行使用默认的 (flask) 网络服务器,我仍然遇到问题。我还通过基于 flask 的网络应用程序(它是一个用于工作的网络应用程序)执行我为 selenium 编写的功能ubuntu 运行 安装脚本的机器安装了桌面环境。

15-25 秒后,windows 关闭,终端无输出。大约 90 秒后,我在终端中收到一条消息:

Message: session not created
from disconnected: unable to connect to renderer
    (Session info: chrome=75.0.3770.90)

我还注意到 chrome 驱动程序的打开时间比平时长。

Edit3:我真的删除了整个虚拟机并从头开始重新安装,我仍然 运行 遇到同样的问题,我已经恢复到旧版本但它仍然没有't 运行,这没有逻辑意义。我唯一的想法是存在一些配置错误或者有什么干扰了它。

Edit4:我可以通过添加参数 --verbose 从 webdriver 获取日志 这是日志:

[1562179109.454][INFO]: resolved localhost to ["::1","127.0.0.1"]
[1562179111.454][WARNING]: Timed out connecting to Chrome, retrying...
[1562179111.454][INFO]: resolved localhost to ["::1","127.0.0.1"]
[1562179115.454][WARNING]: Timed out connecting to Chrome, retrying...
[1562179115.455][INFO]: resolved localhost to ["::1","127.0.0.1"]
[1562179123.454][WARNING]: Timed out connecting to Chrome, retrying...
[1562179123.455][INFO]: resolved localhost to ["::1","127.0.0.1"]
[1562179139.455][WARNING]: Timed out connecting to Chrome, giving up.
[1562179139.506][INFO]: [42e538ee02eb06b9ac776969dddf01d1] RESPONSE InitSession ERROR session not created
from disconnected: unable to connect to renderer
  (Session info: chrome=75.0.3770.90)
[1562179139.506][DEBUG]: Log type 'driver' lost 9 entries on destruction
[1562179139.506][DEBUG]: Log type 'browser' lost 0 entries on destruction

我对Linux不太熟悉,但从我过去看到的,我感觉它与/etc/hosts有关(idk?)

编辑5: 我注意到这种情况在我安装 windscribe (vpn) 后开始发生,这让我觉得 windscribe 以某种方式干扰了连接。

我发现,windscribe (vpn) 干扰了与 chrome webdriver 的连接,我相信它与它的 built-in 防火墙有关,卸载后,调用 sudo apt autoremove -y 并重新启动,它工作正常!

编辑:我 re-installed VPN (windscribe) 和 de-activated 包含的防火墙,之后它正常工作。