Python Playwright 启动最大化窗口

5

我在 Python 中启动 Playwright 的时候遇到了问题。我找到了其他语言的一些文章,但在 Python 中不起作用,而且在官方文档中也没有关于如何最大化窗口的说明。

我尝试了 browser = p.chromium.launch(headless=False, args=["--start-maximized"])

它能够最大化启动,但随后自动还原为默认的小窗口大小。

有什么想法吗? 谢谢


1
这个回答解决了你的问题吗?Playwright - Javascript - 最大化浏览器 - Charchit Agarwal
谢谢,是的这就是修复方法,与我下面的答案相同。 - bbfl
请查看此链接:https://stackoverflow.com/a/77281854 - undefined
4个回答

2
我找到了答案:
我还需要设置以下内容,它就可以工作了:browser.new_context(no_viewport=True)

1
你可以创建一个 conftest.py 文件并定义:
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

然后,您将能够手动最大化窗口,并且不会将其恢复


1

我正在使用 playwrightpytest-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")

使用pytest .运行测试,无需指定浏览器和无头参数。使用new_context将不会与其他浏览器上下文共享cookie /缓存,因此我们可以分离测试运行。


0
这是你应该做的方式,而且它是有效的。
with sync_playwright() as p:
    browser = p.chromium.launch(args=['--start-maximized'], headless=False)
    page = browser.new_page(no_viewport=True)
    page.goto(url)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接