Closed Tin-Nguyen closed 7 years ago
any one can help to resolve the issue?
I had this problem and it was because Chrome wasn't running! It wasn't running because it wouldn't start in the docker image I was using. The solution ended up being to change the startup script to start google-chrome-stable using the --no-sandbox flag.
Thanks @farant , I will try your way
hi @farant , I just check to do curl http://localhost:9222
and I could receive the response from Headless Chrome, so I think it is running now.
<html>
<head>
<title>Headless remote debugging</title>
<style>
</style>
<script>
const fetchjson = (url) => fetch(url).then(r => r.json());
function loadData() {
const getList = fetchjson("/json/list");
const getVersion = fetchjson('/json/version');
Promise.all([getList, getVersion]).then(parseResults);
}
function parseResults([listData, versionData]){
const version = versionData['WebKit-Version'];
const hash = version.match(/\s\(@(\b[0-9a-f]{5,40}\b)/)[1];
listData.forEach(item => appendItem(item, hash));
}
function appendItem(item, hash) {
let link;
if (item.devtoolsFrontendUrl) {
link = document.createElement("a");
var devtoolsFrontendUrl = item.devtoolsFrontendUrl.replace(/^\/devtools\//,'');
link.href = `https://chrome-devtools-frontend.appspot.com/serve_file/@${hash}/${devtoolsFrontendUrl}&remoteFrontend=true`;
link.title = item.title;
} else {
link = document.createElement("div");
link.title = "The tab already has active debugging session";
}
var text = document.createElement("div");
if (item.title)
text.textContent = item.title;
else
text.textContent = "(untitled tab)";
if (item.faviconUrl)
text.style.cssText = "background-image:url(" + item.faviconUrl + ")";
link.appendChild(text);
var p = document.createElement("p");
p.appendChild(link);
document.getElementById("items").appendChild(p);
}
</script>
</head>
<body onload='loadData()'>
<div id='caption'>Inspectable WebContents</div>
<div id='items'></div>
</body>
</html>
is there any one help on this?
Hello @Tin-Nguyen !
I found the problem. As you're using remote debugging, simple-headless-chrome doesn't have an instance for the Chrome that you are connecting. So, (because of a bug) whenever you call the close() method it cannot find the instance to close it.
It's fixed now, and should be working if you try with version v4.3.7. Please let me know if it doesn't work by reopening the issue.
Cheers! Luciano
PS: I'm interested on knowing if remote debugging works well, as I haven't been able to test it right (it should be the same anyway). So, let me know please if it worked for you.
Thanks @LucianoGanga , I will check on newer version v4.3.7 today
The issue has been resolved on v4.3.8 version. Thanks
Hi all,
I got the issue when running with docker configuration
The config I did
I'm seeing the document is out of date with the latest version. It might be a wrong configuration. Any advises to resolve the issue?
I have just checked the source code, there is no
kill
function inchrome.js
file. The source code has issues?