从 Chrome 获取模拟器列表
Get Emulator list from Chrome
根据 ChromeDriver site,用户可以使用 chrome 中的模拟器 created/present 执行 Selenium。
我想显示 Chrome
中的所有 created/available 个模拟器。 Chrome
可能会将详细信息存储在某些 json 文件或 something.If 中,因此如何访问它并在 Java
中打印它
做了 Notepad++ Find in Files
找到了。
数据以JSON格式存储在文件
中
C:\Users\Your UserName\AppData\Local\Google\Chrome\User Data\Default\Preferences
键下
devtools>preferences>standardEmulatedDeviceList
我用 Jackson 解析了 JSON
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Test {
public static void main(String[] args) {
try {
ObjectMapper mapper = new ObjectMapper();
Map map = mapper.readValue(
new File("C:\Users\<UserName>\AppData\Local\Google\Chrome\User Data\Default\Preferences"),
Map.class);
Map devTools = (Map) map.get("devtools");
Map preferences = (Map) devTools.get("preferences");
String standardEmulatedDeviceList = (String) preferences.get("standardEmulatedDeviceList");
List emulatorMap = mapper.readValue(standardEmulatedDeviceList, List.class);
System.out.println(emulatorMap.size());
for (Object object : emulatorMap) {
Map device = (Map) object;
System.out.println(device.get("title"));
}
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
根据 ChromeDriver site,用户可以使用 chrome 中的模拟器 created/present 执行 Selenium。
我想显示 Chrome
中的所有 created/available 个模拟器。 Chrome
可能会将详细信息存储在某些 json 文件或 something.If 中,因此如何访问它并在 Java
做了 Notepad++ Find in Files
找到了。
数据以JSON格式存储在文件
中C:\Users\Your UserName\AppData\Local\Google\Chrome\User Data\Default\Preferences
键下
devtools>preferences>standardEmulatedDeviceList
我用 Jackson 解析了 JSON
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Test {
public static void main(String[] args) {
try {
ObjectMapper mapper = new ObjectMapper();
Map map = mapper.readValue(
new File("C:\Users\<UserName>\AppData\Local\Google\Chrome\User Data\Default\Preferences"),
Map.class);
Map devTools = (Map) map.get("devtools");
Map preferences = (Map) devTools.get("preferences");
String standardEmulatedDeviceList = (String) preferences.get("standardEmulatedDeviceList");
List emulatorMap = mapper.readValue(standardEmulatedDeviceList, List.class);
System.out.println(emulatorMap.size());
for (Object object : emulatorMap) {
Map device = (Map) object;
System.out.println(device.get("title"));
}
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}