我想使用鉻無頭自動測試使用硒。 (https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md)如何使用硒連接到鉻無頭
我有無頭版本已經在9222.運行,所以如果我打開http://10.252.100.33:9222/json/I做得到
[ {
"description": "",
"devtoolsFrontendUrl": "/devtools/inspector.html?ws=127.0.0.1:9223/devtools/page/0261be06-1271-485b-bdff-48e443de7a91",
"id": "0261be06-1271-485b-bdff-48e443de7a91",
"title": "The Chromium Projects",
"type": "page",
"url": "https://www.chromium.org/",
"webSocketDebuggerUrl": "ws://127.0.0.1:9223/devtools/page/0261be06-1271-485b-bdff-48e443de7a91"
} ]
作爲下一步我想硒連接到無頭鉻。但是當我嘗試
final DesiredCapabilities caps = DesiredCapabilities.chrome();
final WebDriver driver = new RemoteWebDriver(new URL("http://localhost:9222/json"), caps);
driver.get("http://www.google.com");
我得到以下注銷
Jän 24, 2017 7:14:45 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFORMATION: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
Jän 24, 2017 7:14:45 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFORMATION: Falling back to original OSS JSON Wire Protocol.
Jän 24, 2017 7:14:45 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFORMATION: Falling back to straight W3C remote end connection
org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{browserName=chrome, version=, platform=ANY}], required capabilities = Capabilities [{}]
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:49:13 -0700'
System info: host: 'Geralds-MacBook-Pro.local', ip: '192.168.0.249', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.2', java.version: '1.8.0_111'
Driver info: driver.version: RemoteWebDriver
的問題是:
- 是在RemoteWebDriver正確的驅動程序連接到無頭 鉻?
- 我閱讀了DevTool協議(https://docs.google.com/presentation/d/1gqK9F4lGAY3TZudAtdcxzMQNEE7PcuQrGu83No3l0lw/),但我不確定如何使用硒創建這樣的客戶端。
- 使用Chrome DevTools連接鉻無頭的工作原理(https://developers.google.com/web/tools/chrome-devtools/remote-debugging/),除了一些細分金庫;-)
你得到這個工作的細節?我在一個階段做過,類似於你所做的(我也使用過'RemoteWebDriver'),但是一個月後我又回到了我的設置,它沒有連接。 – Nikki
爲了讓事情運行,我們切換到了phantomJS。通過使用Selenium的PhantomJSDriver和WebWire協議,我們可以使用此設置。 (聯合國)很幸運,我們必須再次調查,因爲幻像JS維護者正在退出/ Chrome 59支持無頭。 (https://groups.google.com/forum/#!topic/phantomjs/9aI5d-LDuNE) –