Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 键码转换,考虑使用XVFB_Selenium_Webdriver Io - Fatal编程技术网

Selenium 键码转换,考虑使用XVFB

Selenium 键码转换,考虑使用XVFB,selenium,webdriver-io,Selenium,Webdriver Io,Google Chrome官方存储库的最新版本 ChromeDriver上次安装的版本 Selenium安装的最新版本 Mywdio.conf.js desiredCapabilities: { browserName: process.env.BROWSER || 'chrome', chromeOptions: { args: [ '--disable-gpu', '--headless',

Google Chrome官方存储库的最新版本

ChromeDriver上次安装的版本

Selenium安装的最新版本

Mywdio.conf.js

desiredCapabilities: {
    browserName: process.env.BROWSER || 'chrome',
    chromeOptions: {
      args: [
            '--disable-gpu',
            '--headless',
            '--no-sandbox',
          ],
      prefs: {
        'download.default_directory': __dirname + '/tmp/test/download',
        'download.prompt_for_download': false
      }
    }
  },
我的错误

一些测试正在工作,并且在出现错误之后

  ✓ restore password (500ms)

[07:07:40]  COMMAND POST     "/wd/hub/session/21b26bbb-c9ee-4a4e-89de-ac6e8180fe9c/element/34/value"
[07:07:40]  DATA         {"value":["s","i","m","u","l","a","t","i","o","n"]}
[07:07:41]  INFO    Retry #1
[07:07:41]  ERROR   ServerError unknown error: an X display is required for keycode conversions, consider using Xvfb
[07:07:41]  INFO    Retry #2
[07:07:41]  ERROR   ServerError unknown error: an X display is required for keycode conversions, consider using Xvfb
[07:07:41]  INFO    Gave up after 3 tries

如何解决这个问题

看起来您运行的是某种Linux/UNIX发行版/env,您应该首先指出这一点。 回溯错误表明您没有必要的Xvfb(X11服务器)实例以图形方式呈现我认为是setValue命令的内容

请参阅问题的答案,这可能会为您提供绕过此问题的工具。(还有,可能重复)

顺便说一句,我复制了你的wdio.config.js设置并成功运行了一些测试,所以这不是你的问题

 [13:33:41]  COMMAND     POST     "/wd/hub/session/66c3c740-3089-47f4-a366-a2adf2cae09d/elements"
 [13:33:41]  DATA                {"using":"css selector","value":"div[connectqa-device=\"pending\"]"}
 [13:33:41]  RESULT              [{"ELEMENT":"12"}]
.[13:33:41]  COMMAND    DELETE   "/wd/hub/session/66c3c740-3089-47f4-a366-a2adf2cae09d"
 [13:33:41]  DATA                {}
 [13:33:42]  RESULT              null

4 passing (18.50s)

如果没有(虚拟)XServer,当前无法发送密钥

有一张公开票:

还有一个解决方法,用JavaScript替换
sendkeys
调用:


或者您必须使用Xvfb,如驱动程序错误消息和其他建议的答案。

考虑为您的问题提供上下文。让你的问题尽可能清楚,以便人们能够理解并帮助你docker exec idg sh-c“export DISPLAY=:99“docker exec idg sh-c”nohup Xvfb$DISPLAY+extension RANDR>/dev/null 2>&1&“docker exec idg sh-c”sleep 3“这个命令可能不对吗?