Не удается найти веб-элемент во всплывающем окне настроек браузера Chrome - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь очистить кеш браузера, для которого мне нужно нажать на кнопку очистки данных всплывающего окна настроек браузера, но я не могу написать xpath для кнопки в браузере Chrome

Я попытался осмотреть элемент, чтобы выяснить, находится ли кнопка в iframe, но не в iframe, поэтому я решил попробовать ее с фрагментом без iframe, в любом случае элемент не прослеживается в dom.

    public void clearBrowserCache() throws InterruptedException{
    driver.get("chrome://settings/clearBrowserData");
    Thread.sleep(2000);
    System.out.println(driver.getWindowHandles());
    String windowIds=driver.getWindowHandle();

   // driver.switchTo().frame(windowIds);
      driver.findElement(By.cssSelector(
      [id=clearBrowsingDataConfirm]")).click();

    }

Ожидается, что я смогу нажать на кнопку очистки данных На самом деле я не могу найти xpath для элемента

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Я ответил, как войти в Shadow DOM в другом вопросе .

Вы можете прочитать все это по ссылке, но суть в том, что вы создаете «начальную точку» WebElement в Shadow DOM через JavaScript, тогда все последующие просмотры ссылаются на него:

WebElement button = startingPoint.findElement(By.cssSelector("..."));
0 голосов
/ 29 мая 2019

В зависимости от того, какую версию Chrome вы используете, это может работать:

driver.findElement(By.cssSelector("* /deep/ #clearBrowsingDataConfirm")).click();

Однако комбинатор /deep/ устарел, поэтому он может не работать на более новых версиях Chrome.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...