I've been testing Chrome headless extensively for the past few months, and while it's a good step, but it's not stable for high-volume or even diverse set of webpages. Memory usage is pretty high, lot of heavy webpages result in crashes/hangs, there are many inconsistencies between features available in full version and headless, their debugging protocol has different APIs that work on headless/non-headless in Linux…
Chrome 59 has cross-platform headless support
101–110 of 161 posts
Re: Chrome 59 has cross-platform headless support
#102Would this run as a chrome driver for Selenium? What is needed to make this work with Selenium?
Re: Chrome 59 has cross-platform headless support
#103Earlier quoted context omitted.
I've been successfully using Chrome headless in a 500MB Docker container for dumping the DOM for https://www.prerender.cloud/ for months (rendering a large variety of sites without restarts for weeks at a time) Run it with: --js-flags="--max_old_space_size=500" to force the VM to keep it GC'd below 500 Chrome v55 was a 30% memory savings, before that I used 1GB containers. It's not perfect, but I am definitely pushin…
What the best strategy that worked for you on high volumes, multiple tabs or multiple docker instances? I am wondering if multiple tabs is as efficient as multiple windows/instances. Thanks.
- Are you worried about same-origin pollution if you run multiple tabs from the same origin in the same process? If so -> Extra process - Do you have to take screenshots? You can only take screenshots of the tab that's in the foreground, so you have to activate it first to take the screenshot. This might fail if you have lots of tabs which roughly trigger at once.
You can see what I've built at https://urlscan.io btw.
Re: Chrome 59 has cross-platform headless support
#104Video: https://youtu.be/GivjumRiZ8c
Slides: https://docs.google.com/presentation/d/1gqK9F4lGAY3TZudAtdcx...
More links: Headless Chrome architecture: https://docs.google.com/document/d/11zIkKkLBocofGgoTeeyibB2T...
Mailing list: https://groups.google.com/a/chromium.org/forum/#!forum/headl...
All of those links are on https://chromium.googlesource.com/chromium/src.git/+/master/...
Re: Chrome 59 has cross-platform headless support
#105Re: Chrome 59 has cross-platform headless support
#106Also checkout https://github.com/cyrus-and/chrome-remote-interface for an easy way to fully control those headless instances
If you're using Go, https://github.com/knq/chromedp It's also worth noting that the 57+ series has a nice embedded viewer you can use to view the actual viewport via devtools.
Re: Chrome 59 has cross-platform headless support
#107Re: Chrome 59 has cross-platform headless support
#108This is fantastic. I'm using a combination of Chrome and PhantomJS for karma testing right now, for https://github.com/paypal/paypal-checkout and https://github.com/krakenjs/xcomponent . There are hundreds of tests opening up hundreds of iframes and popup windows, and sending a lot of cross-window messages, and that ends up being really memory hungry. Chrome deals pretty well with garbage collection, so long as I'm c…
Re: Chrome 59 has cross-platform headless support
#109This is fantastic. I'm using a combination of Chrome and PhantomJS for karma testing right now, for https://github.com/paypal/paypal-checkout and https://github.com/krakenjs/xcomponent . There are hundreds of tests opening up hundreds of iframes and popup windows, and sending a lot of cross-window messages, and that ends up being really memory hungry. Chrome deals pretty well with garbage collection, so long as I'm c…
We're using xvfb and selenium* for testing and a proper headless support would be a hundred time more stable than the self restarting framebuffer can't wait to move to headless chrome *Yeah I know phantomjs is more cool these days but phantom doesn't support windows height so there's that.
Re: Chrome 59 has cross-platform headless support
#110Doesn't seem to work on OSX. Connecting to debug port from a different chrome brings up an empty page. Running Version 59.0.3069.0 (Official Build) canary (64-bit)
Works for me when using https://github.com/cyrus-and/chrome-remote-interface