1

我有通过单击 Odoo 中的按钮运行的 python 脚本(使用 selenium)。此脚本通过 chromedriver 使用 GUI 运行 chrome。当它尝试运行时出现错误:

从 chrome 位置 /usr/bin/google-chrome 开始的进程不再运行,因此 ChromeDriver 假设 Chrome 已崩溃

一切都安装在我的带有 Ubuntu 18.04 的虚拟机上,安装在带有 Hyper-V 的计算机上(在 Windows 上)我知道显示此错误是因为脚本无权访问 X 服务器。所以我将用户添加到 X:xhost +SI:localuser:odoo_user

但我仍然有同样的问题:(

4

3 回答 3

0

这个问题的解决方法是安装 Selenium Grid 和 PyVirtualDisplay(你可以使用 docker)并尝试使用 Remote 选项:

webdriver.Remote(URL_SERVER_SELENIUM,选项);

它对我有用。

此致。

于 2021-03-31T17:58:05.247 回答
0

问题解决:

  1. pip install PyVirtualDisplay

  2. 下载并安装(您不需要相同的版本): https ://ubuntu.pkgs.org/18.04/ubuntu-updates-main-amd64/xserver-common_1.19.6-1ubuntu4.4_all.deb.html dpkg -i xserver-common_1.19.6-1ubuntu4.4_all.deb

  3. apt install xfvb

  4. 您总是需要在系统中拥有相同版本的 chromedrive 和 chrome 浏览器。

之后 chromedriver 可以在没有 GUI 的情况下运行 X 会话。

于 2020-12-15T13:34:36.817 回答
0

是的,当我在 Odoo 中使用 selenium 时,我遇到了同样的问题,检查您的 chrome 版本并为您的 chrome 下载受支持的 chrome 驱动程序并将其移动到您的“usr/bin”,授予该位置的完全权限并尝试下面的代码。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
     
def test(self):
    driver = webdriver.Chrome()
    driver.get("www.google.com")
于 2020-02-27T10:27:21.480 回答