python - 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])
解决方案
下面是脚本,其中 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()
在此处查看我的答案以获取更详细的说明。
推荐阅读
- javascript - eventstream zip 和 Bacon.when 有什么区别
- javascript - 第一个加载页面上的 Javascript 函数
- c# - 删除部分 IL 语言条件
- c# - 带有任何类型回调的通配符泛型?
- r - 在 Rmarkdown 中的文本中包含空格的引用变量名称
- java - 如何使用android studio以编程方式记录android设备的所有入站和出站连接
- python - 根据行对列求和。例如,基于行 'male' 和 'female' 的 sum 列自杀_no
- pivot-table - Qlikview Pivot Table Top X 按周
- python - 当用户在模态窗口外单击时如何响铃?
- deep-learning - TensorFlow CNN 形状不匹配