java和浏览器交互,Selenium WebDriver(java)可以与浏览器的检查工具元素选择器进行交互吗?…

  • Post author:
  • Post category:java


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.
87paW.png

解决方案

Partially Yes. Using selenium-webdriver you will be able to interact with the
EdUwb.png
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() {

@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