![](/img/trans.png)
[英]SessionNotCreatedException: Unable to create a new remote session
[英]How to fix SessionNotCreatedException: Unable to create new remote session when trying to run Firefox?
我有一個帶有 Chrome 和 Firefox 的 Selenium 服務器 4。 Chrome 工作正常,但是當我嘗試運行 Firefox 時,它會拋出一個錯誤:
org.openqa.selenium.SessionNotCreatedException:無法創建新的遠程 session。 所需的功能 = 功能 {acceptInsecureCerts:真,瀏覽器名稱:firefox,木偶:真}
驅動程序的 Java 代碼在這里:
String browser = System.getProperty("browser");
browser = browser == null || browser.equals("") ? CHROME : browser.toLowerCase();
System.setProperty("webdriver.gecko.driver", "/home/tatrytec/custom-scripts/selenium-server/geckodriver");
Configuration.remote = HUB_URL;
Configuration.browser = browser;
FirefoxOptions options = new FirefoxOptions();
options.setCapability("marionette",true);
options.setHeadless(true);
WebDriver driver = new RemoteWebDriver(options);
WebDriverRunner.setWebDriver(driver);
這是 Jenkins 堆棧跟蹤:
Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities {acceptInsecureCerts: true, browserName: firefox, marionette: true}
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'vmi503579.contaboserver.net', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-70-generic', java.version: '11.0.10'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:87)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at services.WebDriverService.setDriver(WebDriverService.java:51)
at steps.BaseSteps.<clinit>(BaseSteps.java:43)
這是 Selenium 服務器堆棧跟蹤:
12:34:10.493 INFO [Distributor.newSession] - Session request received by the distributor:
{
"desiredCapabilities": {
"browserName": "firefox",
"moz:firefoxOptions": {
"args": [
"-headless"
],
"prefs": {
}
},
"marionette": true,
"acceptInsecureCerts": true
},
"capabilities": {
"firstMatch": [
{
"acceptInsecureCerts": true,
"browserName": "firefox",
"moz:firefoxOptions": {
"args": [
"-headless"
],
"prefs": {
}
}
}
]
}
}
1619433250551 geckodriver INFO Listening on 127.0.0.1:21294
1619433251262 mozrunner::runner INFO Running command: "/snap/bin/firefox" "--marionette" "-headless" "-foreground" "-no-remote" "-profile" "/tmp/rust_mozprofile8aLKtJ"
2021/04/26 12:34:13.167735 cmd_run.go:1003: WARNING: cannot start document portal: dial unix /run/user/0/bus: connect: permission denied
mkdir: cannot create directory '/run/user/1000': Permission denied
*** You are running in headless mode.
[GFX1-]: glxtest: libpci missing
[GFX1-]: glxtest: libEGL initialize failed
[GFX1-]: glxtest: Unable to open a connection to the X server
[GFX1-]: glxtest: libEGL initialize failed
[GFX1-]: No GPUs detected via PCI
12:35:11.436 WARN [SeleniumSpanExporter$1.lambda$export$0] - {"traceId": "276854ae3527ad1a0d5c4039f0580cec","spanId": "2c522f44eb54f30e","spanKind": "INTERNAL","eventTime": 1619433311373994495,"eventName": "exception","attributes": {
"driver.url": "http:\u002f\u002flocalhost:21294",
"exception.message": "Error while creating session with the driver service. Stopping driver service: Could not start a new session. Response code 500. Message: Connection refused (os error 111)\nBuild info: version: '4.0.0-beta-2', revision: 'Unknown'\nSystem info: host: 'vmi123456.contaboserver.net', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-70-generic', java.version: '11.0.10'\nDriver info: driver.version: unknown"
服務器上的權限似乎有問題。 它說:
無法啟動文檔門戶:撥打 unix /run/user/0/bus: connect: permission denied
不知道我還應該設置什么來運行。
這對於使用 snap 安裝的 firefox 很常見,您可以卸載 firefox 的 snap 版本並使用 apt by 安裝它
snap remove firefox
然后
sudo apt-get install firefox
sudo apt-get install firefox-geckodriver
關於此https 的一些參考資料://github.com/mozilla/geckodriver/issues/1877
https://askubuntu.com/questions/1334192/glxtest-libpci-missing-although-i-made-an-apt-install
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.