MeiK2333 / pyppeteer_stealth

MIT License
245 stars 53 forks source link

Comparison With and Without pyppeteer_stealth #9

Closed shanesreal closed 3 years ago

shanesreal commented 3 years ago

I know it's not perfect but here is a comparison with and without pyppeteer_stealth.

with: https://gyazo.com/ddd2c7e054eaa431555a0fb9fb5ef1cd

without: https://gyazo.com/2b4d1e70db623aa1f3adc674d4596d94

MeiK2333 commented 3 years ago

Since I released version 1.0, these methods have changed a lot, and I will update this repository soon.

https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth/evasions/navigator.permissions

Before I release the update, you can use this repository like this

import asyncio

from pyppeteer import launch

from pyppeteer_stealth.chrome_runtime import chrome_runtime
from pyppeteer_stealth.console_debug import console_debug
from pyppeteer_stealth.iframe_content_window import iframe_content_window
from pyppeteer_stealth.media_codecs import media_codecs
from pyppeteer_stealth.navigator_languages import navigator_languages
from pyppeteer_stealth.navigator_permissions import navigator_permissions
from pyppeteer_stealth.navigator_plugins import navigator_plugins
from pyppeteer_stealth.navigator_webdriver import navigator_webdriver
from pyppeteer_stealth.user_agent import user_agent
from pyppeteer_stealth.webgl_vendor import webgl_vendor
from pyppeteer_stealth.window_outerdimensions import window_outerdimensions

async def main():
    browser = await launch(headless=False)
    page = await browser.newPage()

    await chrome_runtime(page)
    await console_debug(page)
    await iframe_content_window(page)
    await navigator_languages(page)
    # await navigator_permissions(page)  <-- disable this line
    await navigator_plugins(page)
    await navigator_webdriver(page)
    await user_agent(page)
    await webgl_vendor(page)
    await window_outerdimensions(page)
    await media_codecs(page)

    await page.goto("https://signup.mail.com/")
    await page.waitFor(500000)
    await browser.close()

asyncio.get_event_loop().run_until_complete(main())
MeiK2333 commented 3 years ago

done. please upgrade to 2.6.0.