Selenium WebDriver (java) 可以与浏览器的检查工具元素选择器交互吗?
Can Selenium WebDriver (java) interact with the Browser's inspect tool element selector?
通过使用 selenium,我可以访问位于检查选项卡中的浏览器元素选择器(在浏览器中按 Ctrl + Shift + C)吗?
我想 "point" 使用该选择器的元素并使其在浏览器中突出显示。
例如,像这样简单的东西:
WebElement elem = driver.findElement(By.id("userName"));
elem.pointer();
这将在浏览器中将元素显示为 highlighted/selected,检查选项卡的工作原理也是如此。
部分是。使用 selenium-webdriver you will be able to interact with the google-chrome-devtools API 即将使用 Java 客户端。
集成 Chrome DevTools Protocol is still in WIP (Work In Progress) and @AdiOhana have recently contributed for the Network and Performance 域以面向更好的用户 API。
在讨论中 Controlling Chrome Devtools with Selenium Webdriver @AdiOhana 提到示例用法如下:
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.
结尾
通过使用 selenium,我可以访问位于检查选项卡中的浏览器元素选择器(在浏览器中按 Ctrl + Shift + C)吗?
我想 "point" 使用该选择器的元素并使其在浏览器中突出显示。
例如,像这样简单的东西:
WebElement elem = driver.findElement(By.id("userName"));
elem.pointer();
这将在浏览器中将元素显示为 highlighted/selected,检查选项卡的工作原理也是如此。
部分是。使用 selenium-webdriver you will be able to interact with the
集成 Chrome DevTools Protocol is still in WIP (Work In Progress) and @AdiOhana have recently contributed for the Network and Performance 域以面向更好的用户 API。
在讨论中 Controlling Chrome Devtools with Selenium Webdriver @AdiOhana 提到示例用法如下:
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.