首页 > 解决方案 > Selenium WebDriver (java) 可以与浏览器的检查工具元素选择器交互吗?

问题描述

通过使用 selenium,我可以访问位于检查选项卡中的浏览器元素选择器(浏览器中的 Ctrl + Shift + C)吗?

我想使用该选择器“指向”一个元素,并在浏览器中突出显示它。

例如,一些简单的事情,如:

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

这将在浏览器中将元素显示为突出显示/选中,检查选项卡的工作方式相同。示例图像

标签: javaseleniumgoogle-chrome-devtoolsweb-inspectorchrome-devtools-protocol

解决方案


部分的。使用,您很快就能使用Java客户端与 API 进行交互。

Chrome DevTools 协议的集成仍处于WIP(正在进行中),@AdiOhana 最近为网络性能领域做出了贡献,以提供更好的面向用户的 API。

使用 Selenium Webdriver @AdiOhana 控制 Chrome Devtools的讨论中提到了示例用法,如下所示:

    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
        }
    });

注意:在将 Profiler 域添加到 Selenium java 客户端之前,您必须提供 Mapper。


奥特罗

WebDriver 和 DevTool 协议有什么区别


推荐阅读