我试图在测试开始时禁用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/