Selenium-Python:无法清除Chrome浏览器缓存

时间:2019-06-26 00:38:27

标签: python python-3.x selenium selenium-webdriver selenium-chromedriver

我尝试通过导航至chrome:// settings / clearBrowserData后单击下面的“清除数据”按钮来清除chrome浏览器缓存。但是我无法单击“清除数据”按钮。请告知。

enter image description here

我正在使用:

操作系统: Win 10 pro 64bit

python版本: 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])

2 个答案:

答案 0 :(得分:0)

在该行的末尾添加“ .click()”:

self.driver.find_element_by_css_selector("* /deep/ #clearBrowsingDataConfirm").click()

driver.find_element_by_xpath("//*[@id="clearBrowsingDataConfirm"]").click()

答案 1 :(得分:0)

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

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()

查看我的答案Here,以获得更详细的说明。