- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 chrome 浏览器上自动化的 selenium 代码。
chrome 版本:79.0.3945.117(本地和服务器机器相同)
chrome 驱动:尝试了所有最新及以下的 chrome 版本驱动。
执行状态 - 在本地机器上:在 headless 和 gui 中工作正常。
执行状态 - 在服务器 Centros 7 机器上。在 headless 中工作正常。在 GUI 中给出错误:
options.addArguments("--no-sandbox"); // Bypass OS security model
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
错误日志
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
>>>>> Initializing the webdriver: CHROME on OS: linux64
Jan 11, 2020 12:27:52 PM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
Starting ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614}) on port 16949
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
>>>>> Initializing the webdriver: CHROME on OS: linux64
unknown error: Chrome failed to start: exited abnormally
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'qa9', ip: '', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-1062.9.1.el7.x86_64', java.version: '1.8.0_232'
Driver info: driver.version: ChromeDriver
remote stacktrace: #0 0x564eeb93d479 <unknown>
Jan 11, 2020 12:27:52 PM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
null
2020-01-11 12:27:52 INFO BaseClass:23 - Test Completed
分析
1- Chrome 在服务器计算机上正常打开。
2- 在服务器机器上使用 google-chrome --no-sandbox
启动 chrome
3- google-chrome 在位置/usr/bin/google-chrome 可用
因此尝试了所有可用的步骤 other answers并使用各种 chrome 选项但仍然无法在 chrome gui 上运行 selenium。
options.addArguments("--no-sandbox"); // Bypass OS security model
options.setBinary("/usr/bin/google-chrome");
options.addArguments("start-maximized"); // open Browser in maximized mode
options.addArguments("disable-infobars"); // disabling infobars
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("--test-type");
options.addArguments("--window-size=1420,1080");
options.addArguments("--disable-extensions"); //to disable browser extension popup
options.addArguments("--headless");
options.addArguments("--disable-gpu"); // applicable to windows os only
options.setExperimentalOption("useAutomationExtension", false);
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
ChromeDriver 日志
[1578754796.203][INFO]: Launching chrome: /usr/bin/google-chrome --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-blink-features=ShadowDOMV0 --enable-logging --log-level=0 --no-first-run --no-sandbox --password-store=basic --remote-debugging-port=0 --start-maximized --test-type --use-mock-keychain --user-data-dir=/tmp/.com.google.Chrome.CKtLXZ --window-size=1420,1080 data:,
(google-chrome:29029): Gtk-WARNING **: 15:59:56.269: cannot open display:
[0111/155956.272402:ERROR:nacl_helper_linux.cc(311)] NaCl helper process running without a sandbox!
Most likely you need to configure your SUID sandbox correctly
[1578754796.304][INFO]: [e36d644ac30ae2e028b2ee00ba18b335] RESPONSE InitSession ERROR unknown error: Chrome failed to start: exited abnormally
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
[1578754796.304][DEBUG]: Log type 'driver' lost 0 entries on destruction
[1578754796.304][DEBUG]: Log type 'browser' lost 0 entries on destruction
最佳答案
这个错误信息...
unknown error: Chrome failed to start: exited abnormally (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
...暗示 ChromeDriver 无法启动/生成新的浏览上下文,即 Chrome 浏览器 session 。
您需要处理几件事:
参数--disable-gpu
的目的是启用google-chrome-headless在 windows平台。需要它作为 SwiftShader fails an assert on Windows in headless mode更早。此问题已通过 Headless: make --disable-gpu flag unnecessary解决 .正如你在 centos您需要删除代码行:
options.addArguments("--disable-gpu"); // applicable to windows os only
当您添加ExperimentalOption时:
options.setExperimentalOption("useAutomationExtension", false);
您还需要添加ExperimentalOption:
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
但是你需要删除:
options.addArguments("disable-infobars"); // disabling infobars
options.addArguments("--disable-extensions"); //to disable browser extension popup
您可以在以下位置找到相关的详细讨论:
关于selenium - Chrome 在 linux 服务器上以 headless 模式工作,但通过 Selenium 和 Python 在 gui 模式下显示 "DevToolsActivePort file doesn' t exist"error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59694065/
这个问题在这里已经有了答案: Selenium: WebDriverException:Chrome failed to start: crashed as google-chrome is no
我是 Centos7 的新手,正在尝试在以下环境中开发浏览器自动化解决方案: 操作系统:Centos7 ruby :2.6瓦蒂尔浏览器:谷歌浏览器 72.0.3626.109驱动程序:ChromeDr
我正在尝试安装/配置 Selenium 以在团队成员不在办公室时进行一些 UI 测试。我已经安装了 Selenium Webdriver 和 Eclipse,以及 Chrome、Firefox 和 E
这个问题已经有答案了: Selenium: WebDriverException:Chrome failed to start: crashed as google-chrome is no long
我正在为浏览器运行 Laravel Dusk 的示例测试,但是当我执行 php artisan dusk 时出现错误 使用:* Ubuntu 18* 拉维尔 5.8*黄昏5.1* Chrome 驱动程
总结:适用于 mac 但不适用于 windows。请注意:这不是其他类似问题的重复,我已经在 SO 和其他地方对此进行了超过一天的研究。 我构建了一个 super 简单的脚本,它执行 2 个 dock
我正在尝试配置系统测试以使用 selenium 中的 headless Chrome。我有以下 capybara 配置: # spec/support/capybara.rb Capybara.ser
我尝试在远程 PC 上启动电子应用程序,该应用程序作为节点连接到 Selenium 网格。以前它工作正常。但现在我收到此错误“DevToolActivePort 文件不存在” System.o
我一直在尝试将启动 Selenium 网格服务的方式从 .rclocal 中的 shell 脚本更改为 systemd 服务,但它不起作用。脚本是这样的: #!/bin/bash java -jar
我正在使用 Selenium 和 Chrome 运行 crontab。 如果我不使用 crontab 运行脚本,一切都可以正常工作。 我想在启动时显示屏幕,但它给了我这个错误。 (unknown er
当我运行我的代码时,它显示以下错误- Electron 应用程序 org.openqa.selenium.WebDriverException: unknown error: DevToolsActi
这个问题在这里已经有了答案: WebDriverException: unknown error: DevToolsActivePort file doesn't exist while tryin
我正在尝试使用 URL 启动 chrome,浏览器启动,之后它什么也不做。 1分钟后我看到以下错误: Unable to open browser with url: 'https://www.goo
我尝试使用 URL 启动 Chrome,浏览器启动后什么也不做。 1 分钟后我看到以下错误: Unable to open browser with url: 'https://www.google.
通过带有standlone-chrome镜像的docker容器运行TestNG脚本,在容器级别,chrome无法在Linux计算机上启动。 功能还包括:--disable-dev-shm-usage"
我尝试使用 URL 启动 Chrome,浏览器启动后什么也不做。 1 分钟后我看到以下错误: Unable to open browser with url: 'https://www.google.
我尝试使用 URL 启动 Chrome,浏览器启动后什么也不做。 1 分钟后我看到以下错误: Unable to open browser with url: 'https://www.google.
这个问题已经有答案了: Selenium: WebDriverException:Chrome failed to start: crashed as google-chrome is no long
我尝试使用 URL 启动 Chrome,浏览器启动后什么也不做。 1 分钟后我看到以下错误: Unable to open browser with url: 'https://www.google.
我有一个也有 UI 的 ubuntu 服务器。你可以通过触发 mvn test 命令来执行测试用例。但问题是当我从另一台机器通过终端对机器进行 ssh 操作时,出现以下错误- unknown erro
我是一名优秀的程序员,十分优秀!