通过使用 selenium,我可以访问位于检查选项卡中的浏览器元素选择器(浏览器中的 Ctrl + Shift + C)吗?
我想使用该选择器“指向”一个元素,并在浏览器中突出显示它。
例如,一些简单的事情,如:
WebElement elem = driver.findElement(By.id("userName"));
elem.pointer();
通过使用 selenium,我可以访问位于检查选项卡中的浏览器元素选择器(浏览器中的 Ctrl + Shift + C)吗?
我想使用该选择器“指向”一个元素,并在浏览器中突出显示它。
例如,一些简单的事情,如:
WebElement elem = driver.findElement(By.id("userName"));
elem.pointer();
部分是的。使用selenium-webdriver,您很快就能使用Java客户端与google-chrome-devtools 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。