Skip to content

Instantly share code, notes, and snippets.

View codesorter2015's full-sized avatar
🏠
Working from home

Krish codesorter2015

🏠
Working from home
View GitHub Profile
@codesorter2015
codesorter2015 / puppeteer_page_screenshot.js
Created January 10, 2019 14:08
Puppeteer - taking full page screenshot
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://techmultitude.com');
await page.setViewport({width: 320, height: 480});
await page.waitForNavigation({'waitUntil' : 'networkidle'});
await page.screenshot({path: 'website.png', fullPage: true});
await browser.close();
@codesorter2015
codesorter2015 / parseUrlQuery.js
Last active April 25, 2019 08:36
Best way to parse query string in JavaScript
var parseQuery = ( urlStr ) => {
return new URL(urlStr).search.substring(1).split('&').map(i => { let params = {}; let p = i.split('='); params[p[0]] = decodeURIComponent(p[1]); return params });
}
console.log(parseQuery("paste your url here"));
@codesorter2015
codesorter2015 / puppeteer_setExtraHttpHeaders.js
Created April 26, 2019 05:06
Example for setting extra header on page in puppeteer
await page.setExtraHTTPHeaders({
'Accept-Language': 'en-US,en;q=0.9'
});
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36');
@codesorter2015
codesorter2015 / gist:d7fe61072403a46e289b1ee0393dd0a1
Created May 28, 2019 09:49
Apache Proxy With Socket Setup
<VirtualHost *:80>
ServerName test.localhost
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteRule /(.*) ws://localhost:3001/$1 [P,L]
ProxyRequests Off
ProxyPreserveHost On
<Proxy pos.##REDACTED###.za>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteRule /(.*) ws://localhost:8080/$1 [P,L]
ProxyPass /socket.io http://localhost:8080/socket.io/ retry=0 timeout=5
const puppeteer = require('puppeteer');
const proxyChain = require('proxy-chain');
(async() => {
const oldProxyUrl = 'http://bob:password123@proxy.example.com:8000';
const newProxyUrl = await proxyChain.anonymizeProxy(oldProxyUrl);
// Prints something like "http://127.0.0.1:45678"
console.log(newProxyUrl);
@codesorter2015
codesorter2015 / reloadpage.txt
Last active March 9, 2022 12:24
reload the page using javascript
location = location
... and a 534 other ways to reload the page with JavaScript
location = location
location = location.href
location = window.location
location = self.location
location = window.location.href
location = self.location.href
location = location['href']
location = window['location']
@codesorter2015
codesorter2015 / Proxy Window Object
Created August 12, 2019 11:46
Create a proxy window object using javascript
handler = {
get: function(target, property, receiver) {
let targetObj = target[property];
if(typeof targetObj == "function") {
return (...args) => target[property].apply(target,args)
} else {
return targetObj;
}
}
}
@codesorter2015
codesorter2015 / loadScript.js
Created August 13, 2019 09:16
Load Script Using Java Script
function loadScript(src) {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = src;
script.onload = resolve;
script.onerror = reject;
document.head.appendChild(script);
});
}
@codesorter2015
codesorter2015 / skipAds.js
Created August 23, 2019 06:46
How to automatically skip youtube Ads using puppeteer?
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless:false});
const page = await browser.newPage();
let url = 'youtube url';
await page.goto(url);
await page.evaluate(() => {
self.moHandler = {
changesObserver: function (mutation) {
if (mutation.type === 'attributes'){