AWS EC2 Linux:无法打开共享对象文件

问题描述 投票:0回答:3

我正在尝试让 Chrome 和 Chromedriver(以及最终的 Selenium)(特定版本)在移交给我进行测试的 AWS EC2 Linux 实例上运行。按照this指南的前四个步骤,我

  1. 导航到我的
    /tmp
    目录,
  2. sudo wget https://chromedriver.storage.googleapis.com/102.0.5005.61/chromedriver_linux64.zip
  3. 解压
    chromedriver
  4. 并将
    chromedriver
    移至我的
    /usr/bin

但是,当我去检查

chromedriver - version
进行健全性检查时,我收到以下错误:

chromedriver:加载共享库时出错:libxcb.so.1:无法打开共享对象文件:没有这样的文件或目录

此网站和其他网站上的几篇文章记录了类似的困境(加载共享库时出错:<...>)表明,此错误可能是由于我的实例中缺少

libxcb
造成的,但我是一个新手,我只是不知道当然(我什至不知道
libxcb
是做什么用的)。希望得到一些关于如何继续的反馈。如果有关我的实例的任何其他信息有帮助,请随时告诉我。谢谢!

linux google-chrome amazon-ec2
3个回答
3
投票

如果您输入

yum whatprovides libxcb.so.1
,您将看到提供您缺少的文件的库的名称和版本。

总的来说,我发现libX11提供了chrome和chromedriver所需的大部分库。所以尝试一下:

sudo yum install -y libX11

然后重复以上步骤。


0
投票

首先您需要安装 chromedriver 所需的 Chrome 二进制文件。

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm

这将安装 Chrome 和所需的图形库。在我的 EC2 amazon linux 2 上工作。


0
投票

在我的场景中,在 bitbucket 管道中运行,所需的操作系统依赖项是

libXi-devel

我将留下bitbucket管道YAML文件的参考

    - step:
        name: Build and Test
        caches:
          - maven
        script:
          - curl --output chromedriver-linux64.zip https://storage.googleapis.com/chrome-for-testing-public/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip
          - jar --extract --verbose --file=chromedriver-linux64.zip
          - chmod +x chromedriver-linux64/chromedriver
          - yum update
          # found https://gist.github.com/kaze/eb35d0a815553204cb6d1a9129b20163
          # chromedriver needs some os dependencies.
          - yum install --assumeyes libXi-devel

结果

ChromeDriver 124.0.6367.78 (HASH-refs/branch-heads/4567@{#123})
© www.soinside.com 2019 - 2024. All rights reserved.