Raja
Raja

Reputation: 1

Twitter blocked in headless chrome puppeteer

    ,'--lang=en-US,en;q=0.9'],slowMo: 10,userDataDir: './twitter/myUserDataDir'})
    const page = await browser.newPage()
    await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/73.0.3683.75 Safari/537.36');
    await page.setExtraHTTPHeaders({
        'Accept-Language': 'en-US,en;q=0.9'
    });
    
    const context = browser.defaultBrowserContext();
    context.overridePermissions("https://twitter.com", ["geolocation", "notifications"]);
    await page.setViewport({width: 1280, height: 800});

twitter site is not working when headless = true in puppeteer, can someone let me how to make it work ?.

Upvotes: 0

Views: 1785

Answers (1)

technoY2K
technoY2K

Reputation: 2570

The string argument used in the function page.setUserAgent should be a regular chrome user agent. Remove HeadlessChrome from that string you are using. Your function call should look like the following:

await page.setUserAgent(
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"
)

Notice it is Chrome/95.0.4638.69 Safari/537.36 and not HeadlessChrome/73.0.3683.75 Safari/537.36

Upvotes: 6

Related Questions