【问题标题】:How to clear browser cache using Python?如何使用 Python 清除浏览器缓存?
【发布时间】:2021-12-19 20:17:10
【问题描述】:

有没有办法使用python清除浏览器缓存?

我正在尝试自动化一些涉及在检查数据之前清除所有缓存的事情。这是为了确保是否显示未缓存的数据。

如果有人对此有任何想法,请告诉我。

我需要用 python 或任何与 pytest 框架集成的东西来做。

【问题讨论】:

  • @Thomas 标签不一样,当我看到“可能重复”的接受答案时,这绝对不是同一个问题。这个question 更相关(参见python 答案)

标签: python python-3.x


【解决方案1】:

你可以使用Selenium:

  • 对于 Chrome:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('chrome://settings/clearBrowserData')
driver.find_element_by_xpath('//settings-ui').send_keys(Keys.ENTER)
  • 对于 Firefox:
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait


dialog_selector = '#dialogOverlay-0 > groupbox:nth-child(1) > browser:nth-child(2)'

accept_dialog_script = (
    f"const browser = document.querySelector('{dialog_selector}');" +
    "browser.contentDocument.documentElement.querySelector('#clearButton').click();"
)


def get_clear_site_data_button(driver):
    return driver.find_element_by_css_selector('#clearSiteDataButton')


def get_clear_site_data_dialog(driver):
    return driver.find_element_by_css_selector(dialog_selector)


def get_clear_site_data_confirmation_button(driver):
    return driver.find_element_by_css_selector('#clearButton')


def clear_firefox_cache(driver, timeout=10):
    driver.get('about:preferences#privacy')
    wait = WebDriverWait(driver, timeout)

    # Click the "Clear Data..." button under "Cookies and Site Data".
    wait.until(get_clear_site_data_button)
    get_clear_site_data_button(driver).click()

    # Accept the "Clear Data" dialog by clicking on the "Clear" button.
    wait.until(get_clear_site_data_dialog)
    driver.execute_script(accept_dialog_script)

    # Accept the confirmation alert.
    wait.until(EC.alert_is_present())
    alert = Alert(driver)
    alert.accept()

来源:

chrome firefox

【讨论】:

    猜你喜欢
    • 2018-02-20
    • 1970-01-01
    • 2017-04-06
    • 2010-11-05
    • 2013-07-17
    • 2011-10-23
    • 1970-01-01
    • 2013-11-24
    • 2018-07-27
    相关资源
    最近更新 更多