在无头 debian 系统上通过 Selenium 启动 google-chrome
Posted
技术标签:
【中文标题】在无头 debian 系统上通过 Selenium 启动 google-chrome【英文标题】:Starting google-chrome via Selenium on headless debian system 【发布时间】:2011-09-19 09:23:01 【问题描述】:我正在尝试以禁用的网络安全模式启动 google-chrome 浏览器。硒日志说:
15:36:33.526 INFO - Command request: getNewBrowserSession[*googlechrome, http://www.myurl.de, , commandLineFlags=--disable-web-security] on session null
不管怎样,它只是在之后挂起
15:36:33.600 INFO - Launching Google Chrome...
这是堆栈跟踪:
16:36:44.605 ERROR - Failed to start new browser session, shutdown browser and clear all session data org.openqa.selenium.server.RemoteCommandException: timed out waiting for window 'null' to appear at org.openqa.selenium.server.FrameGroupCommandQueueSet.waitForLoad(FrameGroupCommandQueueSet.java:564) at org.openqa.selenium.server.FrameGroupCommandQueueSet.waitForLoad(FrameGroupCommandQueueSet.java:521) at org.openqa.selenium.server.BrowserSessionFactory.createNewRemoteSession(BrowserSessionFactory.java:374) at org.openqa.selenium.server.BrowserSessionFactory.getNewBrowserSession(BrowserSessionFactory.java:125) at org.openqa.selenium.server.BrowserSessionFactory.getNewBrowserSession(BrowserSessionFactory.java:87) at org.openqa.selenium.server.SeleniumDriverResourceHandler.getNewBrowserSession(SeleniumDriverResourceHandler.java:785) at org.openqa.selenium.server.SeleniumDriverResourceHandler.doCommand(SeleniumDriverResourceHandler.java:422) at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleCommandRequest(SeleniumDriverResourceHandler.java:393) at org.openqa.selenium.server.SeleniumDriverResourceHandler.handle(SeleniumDriverResourceHandler.java:146) at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1530) at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1482) at org.openqa.jetty.http.HttpServer.service(HttpServer.java:909) at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820) at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986) at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837) at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243) at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357) at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Selenium 由 robotsframework-maven-plugin 启动。 xvfb 也由 maven 构建脚本启动以模拟显示。但是启动配置似乎不是问题。一切正常,只是浏览器无法启动。
希望有人能帮助我。
【问题讨论】:
您运行的是哪个版本的 RF SeleniumLibrary 和 google-chrome? 是否设置了DISPLAY环境变量? 【参考方案1】:确保启动浏览器的用户帐户具有主目录。否则浏览器配置文件创建将失败。
【讨论】:
以上是关于在无头 debian 系统上通过 Selenium 启动 google-chrome的主要内容,如果未能解决你的问题,请参考以下文章
在 Linux 上使用无头 Chrome 访问被拒绝页面,而有头 Chrome 通过 Python 使用 Selenium 在 Windows 上工作
selenium.common.exceptions.InvalidSessionIdException通过Python在无头模式下使用GeckoDriver Selenium Firefox(示例代
在 Selenium 版本 3.7.0 无头驱动程序 phantomjs 版本 2.1 上启用 Cookie