Can Selenium WebDriver (java) interact with the Browser's inspect tool element selector?

匆匆过客 提交于 2020-01-16 04:22:14

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!