Comments (7)
I'd urge it be more tedious to ignore per navigation since you really shouldn't be ignoring problems like that. Even in a test suite, it's not something to encourage.
from puppeteer.
More details on this.
The certificates behave a little surprising - once a certain certificate error was "ignored" via protocol's Security.handleCertificateError
, the certificate would not trigger any errors in future.
This would result in inability to do Page.setIgnoreHTTPSErrors(false)
, which causes the test failure in the #176.
Upstream bug: https://bugs.chromium.org/p/chromium/issues/detail?id=751204. We spent half a day with @allada debugging the issue but it didn't get us anywhere.
To move on with this, since there's no practical need to do setIgnoreHTTPSErrors(false)
, we can have a browser option to ignore HTTPS errors:
const {Browser} = require('puppeteer');
const browser = new Browser({ignoreHTTPSErrors: true});
...
from puppeteer.
naming pedantry: SSL (which is dead and now really TLS these days) is about the connection, whereas certificates are about identification. So it turns out certificate errors aren't really TLS issues. In order to simplify all this, folks normally just call the whole kit-and-kaboodle "HTTPS" which seems generally agreeable.
So I'd start with calling this ignoreHTTPSerrors
, but a shorter name could be something like:pardonBadHTTPS
from puppeteer.
Thanks Paul!
I like the ignoreHTTPSErrors
. Or how about ironic pardonHTTPS
?
from puppeteer.
It would be troublesome to implement this per navigation; i'm leaning towards the
page.setIgnoreHTTPSErrors(true);
from puppeteer.
@Garbee do you have any api suggestion?
Having the setter on the page level would allow one to ignore HTTPS errors for the renderer-initiated navigations (those initiated with javascript's window.location.href = ...
), which is valuable
from puppeteer.
hmm. If the page level API solves a problem that the navigation function level doesn't, then that's the way to go. I simply didn't want to see it as "cleaner" than needing to repeat it on all the manual navigation from the puppeteer script.
from puppeteer.
Related Issues (20)
- Docs: the index page for docs should not be a readme.md
- [Feature]: Accessing WebRTC peerConnection in puppeteer
- Force pushing to default branch HOT 1
- [Bug]: ERROR in DIGITALOCEAN APPLICATION PLATFORM HOT 2
- [Bug]: when accessing browser.targets() I don't get info about _targetInfo which have property like _targetInfo.title , _targetInfo.type... HOT 2
- [Bug]: Opening the extension popup.html using will return new empty popup without any data how to get popup.html within the context of a specific tab/website HOT 4
- [Bug]: Background is pink when using background: repeating-linear-gradient HOT 10
- [Bug]: Could not able to get the selectors when headless: true, but it is working with headless:false HOT 1
- [Bug]: Freezing when querying frames on certain websites HOT 11
- [Feature]: `Mouse.dragAndDrop` API not supported for WebDriver BiDi HOT 7
- Error: Attempted to use detached Frame HOT 15
- [Bug]: spawn ENAMETOOLONG HOT 8
- [Bug]: element disappears when cross the bound of the PDF footer HOT 5
- [Bug] puppeteer.launch with cmd file cause spawn EINVAL with recent node security patch HOT 7
- [Bug]: emoji font not displayed (just blank spaces) HOT 42
- [Bug]: `PerformanceNavigationTiming.type` is `navigation` after pressing back button HOT 7
- [Bug]: Error: net::ERR_FAILED HOT 2
- [Feature]: Let docker/Dockerfile use node:20-slim as the base image HOT 2
- [Bug]: #<NoSuchFrameException> occurs even when manually navigating to a page while the browser is idle in puppeteer HOT 2
- [Bug]: Error: Could not find Chrome (ver. 124.0.6367.78). HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puppeteer.