我正在尝试让 Chrome 和 Chromedriver(以及最终的 Selenium)(特定版本)在移交给我进行测试的 AWS EC2 Linux 实例上运行。按照this指南的前四个步骤,我
/tmp
目录,sudo wget https://chromedriver.storage.googleapis.com/102.0.5005.61/chromedriver_linux64.zip
,chromedriver
,chromedriver
移至我的 /usr/bin
。但是,当我去检查
chromedriver - version
进行健全性检查时,我收到以下错误:
chromedriver:加载共享库时出错:libxcb.so.1:无法打开共享对象文件:没有这样的文件或目录
此网站和其他网站上的几篇文章记录了类似的困境(加载共享库时出错:<...>)表明,此错误可能是由于我的实例中缺少
libxcb
造成的,但我是一个新手,我只是不知道当然(我什至不知道 libxcb
是做什么用的)。希望得到一些关于如何继续的反馈。如果有关我的实例的任何其他信息有帮助,请随时告诉我。谢谢!
如果您输入
yum whatprovides libxcb.so.1
,您将看到提供您缺少的文件的库的名称和版本。
总的来说,我发现libX11提供了chrome和chromedriver所需的大部分库。所以尝试一下:
sudo yum install -y libX11
然后重复以上步骤。
首先您需要安装 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 上工作。
在我的场景中,在 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})