Google ChromeDriver 无法在 EC2 服务器的 xvfb 中运行,一旦调用 sendkeys() 就会出错

Posted

技术标签:

【中文标题】Google ChromeDriver 无法在 EC2 服务器的 xvfb 中运行,一旦调用 sendkeys() 就会出错【英文标题】:Google ChromeDriver can't run in xvfb in EC2 server, errors out as soon as sendkeys() is called 【发布时间】:2014-02-14 01:24:12 【问题描述】:

当我尝试运行我的 selenium 代码以启动 chrome 驱动程序并在 EC2 Box 中测试登录功能时出现以下错误。

我像这样在另一个终端 Xvfb :1 -screen 0 1366x768x24 -ac 上运行 Xvfb 服务器。

我还添加了export DISPLAY=:1/usr/bin/google-chrome-stable

基本上我正在尝试在此链接上测试登录功能:https://talentconnect.pge.com/sap/bc/webdynpro/sap/hrrcf_a_startpage_ext_cand?sap-wd-configId=ZPERJ_STARTPAGE_EXT_CAND&sap-client=810

一旦代码点击sendkey() 调用登录凭据,就会出现此错误。

错误日志:

Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: an X display is required for keycode conversions, consider using Xvfb
(Session info: chrome=31.0.1650.63)
(Driver info: chromedriver=2.8.240825,platform=Linux 3.2.0-36-virtual x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 83 milliseconds
Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-36-virtual', java.version: '1.7.0_25'
Session ID: 9e7150582926e064d5c93c97a87b9008

【问题讨论】:

【参考方案1】:

同时更新 Selenium 和 ChromeDriver:docs.seleniumhq.org/download 和 chromedriver.storage.googleapis.com/index.html。主要需要正确的版本。

【讨论】:

以上是关于Google ChromeDriver 无法在 EC2 服务器的 xvfb 中运行,一旦调用 sendkeys() 就会出错的主要内容,如果未能解决你的问题,请参考以下文章

Google ChromeDriver 无法在 EC2 服务器的 xvfb 中运行,一旦调用 sendkeys() 就会出错

无法设置 ChromeDriver 实例的 PageLoad

Selenium ChromeDriver On Dockers(Linux)无法关闭

Laravel dusk 安装 ChromeDriver 出错的解决办法

如何使用 Java + ChromeDriver 在 AWS Lambda 中运行 Google Chrome 进行 Selenium 测试

centos7.4 64位安装 google-chrome 与 chromedriver 运行 Python selenium 项目