Selenium:清除 chrome 缓存

2023-12-22

在我的应用程序中,我需要一种方法在注销之前仅清除 chrome 浏览器的缓存(cookie 除外 - 我不想删除 cookie)。

任何人都可以建议我一种方法来单击 chrome 中的“清除数据”按钮。 我写了下面的代码,但代码不起作用。

配置 :

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

硒版本:3.11.0

//Clear the cache for the ChromeDriver instance.
driver.get("chrome://settings/clearBrowserData");
Thread.sleep(10000);
driver.findElement(By.xpath("//*[@id='clearBrowsingDataConfirm']")).click();

您正在这里使用

driver.findElement(By.xpath("//*[@id='clearBrowsingDataConfirm']")).click();

不幸的是,这不起作用,因为 Chrome 设置页面使用Polymer and Web组件,需要使用 /deep/ 组合器来使用查询选择器,因此本例中的选择器是* /deep/ #clearBrowsingDataConfirm.

这是解决您的问题的方法...您可以使用以下任一方法来实现相同的目的...

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;

public class ClearChromeCache {

    WebDriver driver;

    /*This will clear cache*/
    @Test
    public void clearCache() throws InterruptedException {
        System.setProperty("webdriver.chrome.driver","C://WebDrivers/chromedriver.exe");
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.addArguments("disable-infobars");
        chromeOptions.addArguments("start-maximized");
        driver = new ChromeDriver(chromeOptions);
        driver.get("chrome://settings/clearBrowserData");
        Thread.sleep(5000);
        driver.switchTo().activeElement();
        driver.findElement(By.cssSelector("* /deep/ #clearBrowsingDataConfirm")).click();
        Thread.sleep(5000);
    }

    /*This will launch browser with cache disabled*/
    @Test
    public void launchWithoutCache() throws InterruptedException {
        System.setProperty("webdriver.chrome.driver","C://WebDrivers/chromedriver.exe");
        DesiredCapabilities cap = DesiredCapabilities.chrome();
        cap.setCapability("applicationCacheEnabled", false);
        driver = new ChromeDriver(cap);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium:清除 chrome 缓存 的相关文章

随机推荐

  • 在添加另一个视图之前检查布局膨胀器中是否存在视图

    在我的 android 项目中 我动态地将表单添加到我的线性布局中 然后在使用按钮完成后销毁它们 但是 当我单击 添加按钮 时 它会无限添加更多表单 尽管我一次只想要一个 我如何检查我的 LinearLayout 帐户 是否已添加到视图中或
  • Elasticsearch / lucene 高亮

    我正在使用 ElasticSearch 来索引文档 我的映射是 mongodocid boost 1 0 store yes type string fulltext boost 1 0 index analyzed store yes t
  • ListBox 中的“Items.Clear()”后“SelectedIndexChanged”未触发

    对于列表框 选择模式设置为 一 我希望跟踪是否有选定的项目或没有选定的项目 为此 我订阅了 SelectedIndexChanged 的 方法并检查 SelectedIndex 是否为 1 但是 我注意到调用 Items Clear 后该事
  • 在 ExtJS 中突出显示/选择网格行

    我是 Ext JS 的新手 我正在开发一个网格面板 当我选择 单击任何行时 与所选行相关的某些数据将显示在网格下方的面板中 此外 当加载窗口时 默认情况下应选择 突出显示第一个窗口 目前网格和面板已正确显示 即使与所选行相关的数据也会显示在
  • Angular2 FileSaver.js

    我将 FileSaver js 与 Angular 2 一起使用 效果很好 但是 我在构建中遇到语义错误 错误 TS2304 找不到名称 saveAs 我正在使用 Angular 2 种子并将库添加到我的 project config 中
  • Apache Ivy:本地ivy缓存和本地存储库之间的区别

    默认情况下 ivy 在你的目录下安装了一个 本地缓存
  • iOS是静态框架还是动态框架?

    这可能听起来像一个愚蠢的问题 但如果您有第三方 Party framework 文件 您能判断它是静态还是动态吗 我的意思是 如果你往里面看 它们看起来有什么不同吗 两者都可以 然而 只有 iOS8 才允许应用程序包中使用动态框架 找出答案
  • WPF DependencyObject 调用线程异常

    我有以下代码 它创建一个临时文件夹 并使用 FileSystemWatcher 轮询添加到 Location 属性上的文件夹中的文件 并将它们添加到列表中 Pastebin 上的 Scratchdisk cs http pastebin c
  • Javascript 动态创建函数列表

    我有一块JavaScript我想要创建函数列表的代码 所有的函数都会被放入字典中d d a 会给我这个功能function console log a and d b 会给我这个功能function console log b 等等 这是我
  • 图灵机的时间复杂度和空间复杂度

    我认为图灵机的时间复杂度和空间复杂度的定义是相同的 我无法区分 它们之间 请帮我 谢谢 对于图灵机 时间复杂度是当机器根据某些输入启动时磁带移动的次数的度量 空间复杂度是指机器运行时写入磁带的单元数 The time complexity
  • 获取 Adob​​e Air 中的当前操作系统

    我正在使用 Adob e Flex Air 制作一个应用程序 我想知道是否有任何方法可以获取 Air 应用程序运行的操作系统 Use 能力 http livedocs adobe com flex 3 langref flash syste
  • “活动(调试)”与“调试”

    Visual Studio 调试器 C 调试配置的项目设置 视觉工作室2010 http msdn microsoft com en us library 2kf0yb05 aspx 视觉工作室2008 http msdn microsof
  • 为什么我的 Spring ContextRefreshedevent 被调用两次?

    我注册了一个 Spring ApplicationListener bean 来侦听 ContextRefreshed 事件 但出于某种奇怪的原因 我得到two致电onApplicationEvent ContextRefreshedEve
  • 如何确定一个数字中的所有设置位是否也在另一个数字中设置?

    给定 2 个二进制字符串a and b相同长度 例如111000 and 110000 是否可以检查是否所有设置位b也设置在a使用按位运算 在上面的例子中 b 110000在位置 1 和 2 从左到右 有两个设置位 这些位也设置在a 111
  • 计算价格并显示在 WooCommerce 产品单页上的价格下(简单价格、可变价格)

    我计划在我的 WooCommerce 产品页面上显示所有产品的新价格 这是每月的分期付款价格 我需要以低于正常价格 可变价格和简单价格 的价格显示此内容 如下所示 0 利息分期付款 3 093 卢比起 其中 3 093 卢比是新价格 这是我
  • PHP NTLM身份验证+soap客户端

    我遇到了一个需要实现受 NTLM 身份验证保护的 Web 服务的项目 我通过 PHP 尝试过SoapClient client new SoapClient http hostname com webservice array cache
  • 表达式 *p++ 和 ++*p 的工作方式有何不同

    include
  • 查找一对列中的最大值/最小值

    我的数据如下所示 df lt tribble A B 0 2 0 1 0 2 0 3 0 5 0 1 0 7 0 9 0 8 0 9 0 4 0 2 我如何选择之间的最大 最小值A and B 期望的输出 A B C 1 0 2 0 1 0
  • 如何获取设备的设备接口 GUID?

    我枚举了机器上的所有设备 如下所示 HDEVINFO hDevList SetupDiGetClassDevs NULL NULL NULL DIGCF DEVICEINTERFACE DIGCF PRESENT DIGCF ALLCLAS
  • Selenium:清除 chrome 缓存

    在我的应用程序中 我需要一种方法在注销之前仅清除 chrome 浏览器的缓存 cookie 除外 我不想删除 cookie 任何人都可以建议我一种方法来单击 chrome 中的 清除数据 按钮 我写了下面的代码 但代码不起作用 配置 Chr