0

I use same fontFamily, but it renders different font between headless and not-headless, It's easy to be detected that I'm using headless chrome

This is All my code:

from pyppeteer import launch
import asyncio

async def init_browser():
    browser_args = [
        '--no-sandbox',
        '--disable-setuid-sandbox',
        '--disable-gpu',
        "--start-maximized",
        "--font-render-hinting=medium",
    ]
    browser = await launch(
        headless=False,
        autoClose=True,
        defaultViewport={'width': 1920, 'height': 1080},
        ignoreDefaultArgs=['--enable-automation', '--disable-extensions'],
        args=browser_args
    )
    page = (await browser.pages())[0]
    res = await page.evaluate("""
        () => {
        var n = document.getElementsByTagName("body")[0];
        var a = document.createElement("span");
        a.innerHTML = "mmmmmmmmlli";
        a.style.fontSize = "192px";
        a.style.fontFamily = "Monospace";
        n.appendChild(a);
        e =  a.offsetWidth + "," + a.offsetHeight;
        return e
    }
        """)

    print(res)
    await asyncio.sleep(3)
    await page.screenshot(path='./test.png')

asyncio.get_event_loop().run_until_complete(init_browser())
marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459

0 Answers0