[Odoo][Odoov13] 运行 硒方法

[Odoo][Odoov13] Run method with selenium

我有 python 脚本(使用 selenium),通过单击 Odoo 中的按钮 运行ning。 此脚本 运行 chrome 带有 GUI,由 chrome 驱动程序提供。 当它尝试 运行 我有错误:

The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed

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

但我仍然遇到同样的问题:(

是的,我在 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")

问题解决者:

  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. 您始终需要在系统中安装相同版本的 chrome 驱动器和 chrome 浏览器。

在那之后 chrome驱动程序可以 运行 没有 GUI 的 X 会话。

解决此问题的方法是安装 Selenium Grid 和 PyVirtualDisplay(您可以为此使用 docker)并尝试使用远程选项:

webdriver.Remote(URL_SERVER_SELENIUM, 选项);

它适合我。

此致。