首页 > 解决方案 > Selenium-Python:无法清除 chrome 浏览器缓存

问题描述

在导航到 chrome://settings/clearBrowserData 后,我正在尝试通过单击下面的“清除数据”按钮来清除 chrome 浏览器缓存。但我无法点击“清除数据”按钮。请指教。

在此处输入图像描述

我在用着:

操作系统: Win 10 pro 64bit

蟒蛇版本: 3.6.1

Chrome 版本: 74.0.3729.169(官方版本)(64 位)

def clear_current_session(self):

    # Opens a new tab
    self.driver.execute_script("window.open()")

    # Switch to the newly opened tab
    self.driver.switch_to.window(self.driver.window_handles[1])

    # Navigate to new URL in new tab
    self.driver.get("chrome://settings/clearBrowserData")

    #Click on the Clear data button
    self.driver.find_element_by_css_selector("* /deep/ #clearBrowsingDataConfirm").click()

    self.driver.implicitly_wait(60)

    # Switch to original tab
    self.driver.switch_to.window(self.driver.window_handles[0])

标签: pythonpython-3.xseleniumselenium-webdriverselenium-chromedriver

解决方案


下面是脚本,其中 javascript 将返回 clearButton 元素,然后使用 python selenium 点击。

clearButton = driver.execute_script("return document.querySelector('settings-ui').shadowRoot.querySelector('settings-main').shadowRoot.querySelector('settings-basic-page').shadowRoot.querySelector('settings-section > settings-privacy-page').shadowRoot.querySelector('settings-clear-browsing-data-dialog').shadowRoot.querySelector('#clearBrowsingDataDialog').querySelector('#clearBrowsingDataConfirm')")
#click on the clear button now
clearButton.click()

在此处查看我的答案以获取更详细的说明。


推荐阅读