I have created a fresh instance on Vultr with the “BOM” region (I have also tried other regions as well). From this instance, I’m running a Node.js script using Puppeteer to open One website.
However, whenever Puppeteer tries to load the page, it gets blocked by that website, detecting it as a bot, despite the instance being newly created.
I’ve tried multiple regions, but the problem persists.
Has anyone encountered a similar issue? Any suggestions on how to overcome this would be greatly appreciated.
Here is my code:
const puppeteer = require("puppeteer");
const vultr_helper = require("./helpers/vultr_helper");
async function main() {
const browser = await puppeteer.launch({
headless: false,
executablePath: "/usr/bin/google-chrome",
devtools: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-blink-features=AutomationControlled',
],
});
const page = await browser.newPage();
await page.setViewport({ width: 1200, height: 600 });
// Randomize User Agent or use a fixed one
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36');
// Apply custom overrides before navigating to the page
await page.evaluateOnNewDocument(() => {
// Object.defineProperty(navigator, 'webdriver', { get: () => undefined });
Object.defineProperty(navigator, 'getUserMedia', { get: () => undefined });
Object.defineProperty(navigator, 'mediaDevices', { get: () => undefined });
});
// Spoof WebGL Renderer
await page.evaluateOnNewDocument(() => {
const getParameter = WebGLRenderingContext.prototype.getParameter;
WebGLRenderingContext.prototype.getParameter = function (parameter) {
if (parameter === 37445) return 'Intel Inc.';
if (parameter === 37446) return 'Intel Iris OpenGL Engine';
return getParameter(parameter);
};
});
// Set custom HTTP headers
await page.setExtraHTTPHeaders({
'Accept-Language': 'en-GB,en-US,en;q=0.9'
});
// Override the navigator.languages property
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, 'languages', {
get: () => ['en-GB', 'en-US', 'en'],
});
});
const query_url = "https://www.ticketmaster.com/zach-williams-revival-nights-tour-park-city-kansas-09-27-2024/event/06006098B2DD43DF";
await page.goto(query_url, { timeout: 50000 });
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined, // Fully remove the `webdriver` property
});
});
return;
}
main();
2