headless-chrome | Headless chrome using Puppeteer that can run on Heroku | UI Testing library
kandi X-RAY | headless-chrome Summary
kandi X-RAY | headless-chrome Summary
Headless chrome using Puppeteer that can run on Heroku
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of headless-chrome
headless-chrome Key Features
headless-chrome Examples and Code Snippets
Community Discussions
Trending Discussions on headless-chrome
QUESTION
Any one has a idea on how to invoke a javascript function from puppeteer which is not inline but in an external .js file. If its inline within the html->head->script tag it works but not if the script tag points to an external .js file
Sample HTML File
...ANSWER
Answered 2021-May-18 at 20:15First of all, [name="link"]
should be [name="arivalink"]
to match your DOM. I assume that's a typo.
As another aside, I recommend using the Promise.all
navigation pattern instead of waitForTimeout
which can cause race conditions (although this doesn't appear to be related to the problem in this case).
As for the main issue, the external file is working just fine, so that's a red herring. You can prove that by calling page.evaluate(() => fileFunction())
right after navigating to sample.html
.
The real problem is that when you navigate with window.location.replace('https://www.geeksforgeeks.org');
, Chromium isn't pushing that action onto the history stack. It's replacing the current URL, so page.goBack()
goes back to the original about:blank
rather than sample.html
as you expect. about:blank
doesn't have fileFunction
in it, so Puppeteer throws.
Now, when you click [name="link"]
with Puppeteer, that does push the history stack, so goBack
works just fine.
You can reproduce this behavior by loading sample.html
in a browser and navigating it by hand without Puppeteer.
Long story short, if you're calling a function in browser context using evaluate
that runs window.location.replace
, you can't rely on page.goBack
. You'll need to use page.goto
to get back to sample.html
.
There's an interesting nuance: if you use page.click
to invoke JS that runs location.replace("...")
, Puppeteer will push the history stack and page.goBack
will behave as expected. If you invoke the same JS logic with page.evaluate(() => location.replace("..."));
, Puppeteer won't push the current URL to the history stack and page.goBack
won't work as you expect. The evaluate
behavior better aligns with "manual" browsing (i.e. as a human with a mouse and keyboard on a GUI).
Here's code to demonstrate all of this. Everything goes in the same directory and node index.js
runs Puppeteer (I used Puppeteer 9.0.0).
QUESTION
I asked this few days back but it was assumed and erroneously linked to a previous question. This is the question.
...ANSWER
Answered 2021-Apr-13 at 21:54The solution is actually simple.
I found a workaround by using export headless=0; behave
in the non-headless bash script and it worked.
The caveat to this method is that I have to use os.getenv('headless')
which refers to the value set in my .env file. that was headless=1.
The final webconfig.py looks like this.
QUESTION
How do I call a docker container within Laravel? I am using the following package to download PDFs https://packagist.org/packages/spatie/browsershot, I have an npm container which I am trying to use with this package.
My site container doesn't have node or npm installed which is why I need to use my npm container instead.
Here is my docker file
...ANSWER
Answered 2021-Mar-25 at 12:11You dont need a seperate Node / NPM Container. The Browsershot is part of your applications core. To make it work you need nodejs and npm. That saying I would construct my own container image incuding PHP and Node. That makes the implementation of Browershot more simple.
If neede you can split them up later. But in that case I would create a new BrowserShot service (PHP + Node).
As you can see, there are multiple ways doing it.
What about using NGINX Unit for your applications container base? You could use the Unit PHP base image and add node on top of it.
I did that here:
https://github.com/nginx/unit-examples/blob/master/Dockerfile
QUESTION
Below is the test case that I am trying to execute inside the docker container.
...ANSWER
Answered 2021-Mar-07 at 17:06I found a solution for the above problem statement.
First I tried using chrome and firefox instead of chromium. But apline doesn't had chrome and so switched my base image to ubuntu. Also, in general, ubuntu is suggested [Reference: https://pythonspeed.com/articles/base-image-python-docker-images/] as a best docker base image for running Python Applications.
But even after changing to ubuntu as new docker base image with chrome and firefox, it is the same error (blank page white screen).
Below error as well,
QUESTION
Super new to python, and never used docker before. I want to host my python script on Google Cloud Run but need to package into a Docker container to submit to google.
What exactly needs to go in this DockerFile to upload to google?
Current info:
- Python: v3.9.1
- Flask: v1.1.2
- Selenium Web Driver: v3.141.0
- Firefox Geckodriver: v0.28.0
- Beautifulsoup4: v4.9.3
- Pandas: v1.2.0
Let me know if further information about the script is required.
I have found the following snippets of code to use as a starting point from here. I just don't know how to adjust to fit my specifications, nor do I know what 'gunicorn' is used for.
...ANSWER
Answered 2021-Jan-08 at 11:49Gunicorn is an application server for running your python application instance, it is a pure-Python HTTP server for WSGI applications. It allows you to run any Python application concurrently by running multiple Python processes within a single dyno.
Please have a look into the following Tutorial which explains in detail regarding gunicorn.
Regarding Cloud Run, to deploy to Cloud Run, please follow next steps or the Cloud Run Official Documentation:
1) Create a folder
2) In that folder, create a file named main.py and write your Flask code
Example of simple Flask code
QUESTION
I want to debug headless chrome without a browswer UI like this reference
My chrome version is 84.0.4147.105, and chromedriver version is also 84.
When I run headless-chrome, below notice appear at cmd
...ANSWER
Answered 2020-Aug-04 at 12:28I hit exactly the same wall as you and the same garbled response. I thought it was a bug - even after reboots it didn't come back so i was quietly waiting for a patch.
I just had a more detailed look now and - AT A GUESS - it seems to be related to the open chrome instances.... When i launch the new chrome with the remote debugging tag it attached to an existing chrome not in its own browser.
What i did:
Run these two commands to close all your chrome/chromedriver instances (including this one if you're using chrome - so use something else or copy it to notepad):
QUESTION
The code below scrapes text from multiple elements on the page, however the text needs formatting (adding spaces etc) so that I'm able to use it elsewhere.
I have some JavaScript (working in the browser console) that loops over the elements, adding their text to an array and then turning that into a string, which does what I want. Is that code that can be reused here? I'm not sure where/if I can add it?
...ANSWER
Answered 2020-Jul-20 at 12:37yeah i think you could add a post-crawling step in the evaluatePage
callback applying your code:
QUESTION
I am using puphpeteer
for my Web Automation program.
nesk/puphpeteer
is a PHP version for puppeteer
.
In puppeteer
there is an example for proxy setting.
But in nesk/puphpeteer
there isn't any document or example for it.
Does anybody know how to do it?
(This is not a duplicated question for How to use proxy in puppeteer and headless Chrome?)
...ANSWER
Answered 2019-Dec-20 at 14:38This is it.
QUESTION
I have posted the same question over Unity's forum, but there hasn't been any answer and thus posting it here, too.
I have been trying to run a Unity WebGL build in headless mode (through puppeteer) while saving 'screenshots' of the game, but the camera rendering doesn't seem to be working. The resulting images are all black.
It works as expected when not in headless mode (but still WebGL). It also works properly in standalone builds (e.g., windows, mac), through -batchMode.
Here's the code in question:
...ANSWER
Answered 2020-Apr-16 at 07:46After 2 or 3 days struggling with this and trying to find the exact problem, it finally works by disabling the anti-aliasing in unity, which seems to throw some OpenGL errors.
That said, the Unity3D WebGL rendering works headlessly (through chromium and puppeteer) even without swift shader
, though that is probably what you want for no-gpu
scenarios (e.g., some server).
The log output, though still weird, for both scenarios (with and without swift shader
) is the following (note that the framebuffer incomplete errors are gone):
QUESTION
I'm trying to get Google Lighthouse CLI work on my Debian server. I use the following instruction to run headless Chrome: https://github.com/GoogleChrome/lighthouse/blob/master/docs/headless-chrome.md#cli-headless
It installs fine, but when I do:
...ANSWER
Answered 2020-Apr-07 at 10:22Anyway, I ended up using PageSpeed Insights API instead: https://developers.google.com/speed/docs/insights/v5/get-started
It produces the same JSON that Lighthouse CLI does, but you don't need to setup Chrome or anything, it's just a HTTP request.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install headless-chrome
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page