java - 如何使用 Selenium 和 Java 禁用 Chrome 中的 cookie

标签 java selenium google-chrome cookies selenium-chromedriver

我试图在测试开始时禁用cookie。我尝试使用选项,但它不起作用。 现在我正在使用

WebDriver driver = getDriver();
driver.get("chrome://settings/content/cookies");
WebElement element = driver.findElement(By.id("labelWrapper"));

但仍然无法选择任何选项。我收到一条错误,指出该元素不存在,但当我使用开发人员工具时,我可以看到它存在。

我正在使用

  • testCompile 组:“org.seleniumhq.selenium”,名称:“selenium-java”,版本:“3.141.59”
  • testCompile 组:“org.seleniumhq.selenium”,名称:“selenium-chrome-driver”,版本:“3.141.59”

最佳答案

我找到了一个适合我的解决方案:

driver.get("chrome://settings/content/cookies");
WebElement root1 = driver.findElement(By.tagName("settings-ui"));
WebElement shadowRoot1 = expandRootElement(root1);
WebElement root2 = shadowRoot1.findElement(getByIdentifier("id=container"));
WebElement main = root2.findElement(getByIdentifier("id=main"));
WebElement shadowRoot3 = expandRootElement(main);
WebElement shadowRoot4 = shadowRoot3.findElement(getByIdentifier("class=showing-subpage"));
WebElement shadowRoot5 = expandRootElement(shadowRoot4);
WebElement shadowRoot6 = shadowRoot5.findElement(getByIdentifier("id=advancedPage"));
WebElement shadowRoot7 = shadowRoot6.findElement(By.tagName("settings-privacy-page"));
WebElement shadowRoot8 = expandRootElement(shadowRoot7);
WebElement shadowRoot9 = shadowRoot8.findElement(getByIdentifier("id=pages"));
WebElement shadowRoot10 = shadowRoot9.findElement(By.tagName("settings-subpage"));
WebElement shadowRoot11 = shadowRoot10.findElement(By.tagName("category-default-setting"));
WebElement shadowRoot12 = expandRootElement(shadowRoot11);
WebElement shadowRoot13 = shadowRoot12.findElement(By.id("toggle"));
shadowRoot13.click();

关于java - 如何使用 Selenium 和 Java 禁用 Chrome 中的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59935192/

相关文章:

html - 表 bootstrap 3 中的类输入组问题

java - 为什么我的porter stemmer算法的结果和词根不相符呢?

java - 使用 IntelliJ 引用 jar lib 会导致 ClassNotFoundException

javascript - 如何使用用于测试自动化的 JavaScript 查找具有相同属性的两个 Web 对象

html - 图片上的HTML5音频请点击

html - 评论在 chrome 中不起作用

java - amx :selectBooleanCheckbox? 是否需要 valueChangeListener

java - Eclipse RCP : command line argument without starting application

javascript - 如何在Selenium中获取JS生成的文本?

javascript - 运行 node.js 文件和 selenium 时找不到模块 'glob'