Python Playwright start maximized window
Question:
I have a problem starting Playwright in Python maximized. I found some articles for other languages but doesn’t work in Python, also nothing is written about maximizing window in Python in the official documentation.
I tried browser = p.chromium.launch(headless=False, args=["--start-maximized"])
And it starts maximized but then automatically restores back to the default small window size.
Any ideas?
Thanks
Answers:
I just found the answer:
I need to set also the following and it works: browser.new_context(no_viewport=True)
You could create a conftest.py
and define:
def page(playwright: Playwright, scope="module"):
app_data_path = os.getenv("LOCALAPPDATA")
chromium_path = "ms-playwright\chromium-1028\chrome-win"
chromium_path = os.path.join(app_data_path, chromium_path)
chrome = playwright.chromium
.launch_persistent_context(chromium_path, headless=False, args=["--start-maximised"], no_viewport=True)
page = chrome.new_page()
return page
Then, will be able manually maximize the window and won’t restore is back
I’m using playwright
and pytest-playwright
.
def test_foo(playwright):
browser = playwright.chromium.launch(headless=False, args=["--start-maximized"])
# create a new incognito browser context.
context = browser.new_context(no_viewport=True)
# create a new page in a pristine context.
page = context.new_page()
page.goto("https://example.com")
Run tests with pytest .
, no need to specify the browser and headless params. With new_context
it won’t share cookies/cache with other browser contexts so we get separation of test runs
This is the way you should do it and it works
with sync_playwright() as p:
browser = p.chromium.launch(args=['--start-maximized'], headless=False)
page = browser.new_page(no_viewport=True)
page.goto(url)
I have a problem starting Playwright in Python maximized. I found some articles for other languages but doesn’t work in Python, also nothing is written about maximizing window in Python in the official documentation.
I tried browser = p.chromium.launch(headless=False, args=["--start-maximized"])
And it starts maximized but then automatically restores back to the default small window size.
Any ideas?
Thanks
I just found the answer:
I need to set also the following and it works: browser.new_context(no_viewport=True)
You could create a conftest.py
and define:
def page(playwright: Playwright, scope="module"):
app_data_path = os.getenv("LOCALAPPDATA")
chromium_path = "ms-playwright\chromium-1028\chrome-win"
chromium_path = os.path.join(app_data_path, chromium_path)
chrome = playwright.chromium
.launch_persistent_context(chromium_path, headless=False, args=["--start-maximised"], no_viewport=True)
page = chrome.new_page()
return page
Then, will be able manually maximize the window and won’t restore is back
I’m using playwright
and pytest-playwright
.
def test_foo(playwright):
browser = playwright.chromium.launch(headless=False, args=["--start-maximized"])
# create a new incognito browser context.
context = browser.new_context(no_viewport=True)
# create a new page in a pristine context.
page = context.new_page()
page.goto("https://example.com")
Run tests with pytest .
, no need to specify the browser and headless params. With new_context
it won’t share cookies/cache with other browser contexts so we get separation of test runs
This is the way you should do it and it works
with sync_playwright() as p:
browser = p.chromium.launch(args=['--start-maximized'], headless=False)
page = browser.new_page(no_viewport=True)
page.goto(url)