2

By using selenium, can I access the browsers element picker (Ctrl + Shift + C, in the browser) that is located in the inspect tab?

I want to "point" to an element using that picker and have it be high lighted in the browser.

For example, something simple like:

WebElement elem = driver.findElement(By.id("userName")); elem.pointer();

and that would show the element as highlighted/selected in the browser, same was the inspect tab works. Example Image

undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
Alex
  • 160
  • 1
  • 2
  • 22
  • 1
    It's unlikely that this is possible since the driver generally can't access browser-specific actions/UI. You can inject CSS into the element to do things like put a red border around the element, etc. Google "selenium highlight element" and you'll find a number of examples like [this](https://stackoverflow.com/questions/10660291/highlight-elements-in-webdriver-during-runtime) – JeffC Aug 07 '19 at 20:53
  • 1
    As far as I know, chrome doesn't provide such api in its driver – deathangel908 Aug 08 '19 at 10:35

1 Answers1

2

Partially Yes. Using you will be able to interact with the API using the Java client soon.

Integration of the Chrome DevTools Protocol is still in WIP (Work In Progress) and @AdiOhana have recently contributed for the Network and Performance domains for a better user facing API.

In the discussion Controlling Chrome Devtools with Selenium Webdriver @AdiOhana mentions of the example usage as follows:

    driver.getDevTools().createSession();
    driver.getDevTools().send(new Command("Profiler.enable", ImmutableMap.of()));
    driver.getDevTools().send(new Command("Profiler.start", ImmutableMap.of()));
    //register to profiler events
    driver.getDevTools().addListener(new Event("Profiler.consoleProfileStarted", ConsoleProfileStarted.class), new Consumer<Object>() {
        @Override
        public void accept(Object o) {
            //do something
        }
    });

Note: Until the Profiler domain will added to Selenium java client, you will have to supply your Mapper.


Outro

What is the difference between WebDriver and DevTool protocol

undetected Selenium
  • 183,867
  • 41
  • 278
  • 352