如何使用Playwright Python键入F5刷新页面



我正在尝试使用F5键刷新网页。我知道我可以使用:

self.page.reload()

但这不是解决我问题的好办法。如何使用F5键刷新页面?我的代码无法刷新页面,我不知道为什么。

self.page.keyboard.press('F5')

afaik,player使用虚拟键盘,并且不会向浏览器应用程序发送与实际键盘完全相同的信号。

考虑使用本机,并使用更接近内核的东西,如pyautogui,在您专注于窗口之后:

import pyautogui
pyautogui.press('f5')

正如您所说,我们有page.keyboard.press('F5')。但它并没有达到你想要的效果,我试过其他几个例子,但都没有。

也许这对你来说已经足够了?

page.evaluate('window.location.reload();')

page.evaluate('location.reload();')

正如您所看到的,我们通过评估一个javascript来强制重新加载。

是的。。。这有点棘手,所以在那之后你可能甚至需要强制使用time.sleep(2),相信我,我讨厌time.sleep(),但这是一种特殊的情况。

我希望它能有所帮助。

通过注入如下延迟参数,尝试让它像人类一样慢一点:

self.page.keyboard.press('F5',delay=100)

更新

keyboard.press('F5' with page.reload()方法确实在刷新浏览过的页面。你可以试试它是否有效。

你可以证明以下真实的例子:

from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False,slow_mo=1000)
context = browser.new_context(viewport={"width": 1920, "height": 1080})
page = context.new_page()
page.goto('https://workspace.google.com/marketplace/search/word')

page.keyboard.press('F5',delay=1000)
page.reload()

剧作家python doc

最新更新