问题
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.
回答1:
Partially Yes. Using selenium-webdriver you will be able to interact with the google-chrome-devtools 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
来源:https://stackoverflow.com/questions/57400965/can-selenium-webdriver-java-interact-with-the-browsers-inspect-tool-element-s