2016-09-20 6 views
3

ChromeDriver siteによると、ユーザーはクロムで作成/表示されたエミュレーターを使用してSeleniumを実行できます。Chromeからエミュレーターリストを取得

Detailed View Here

enter image description here

私はChromeから利用可能なすべての作成/エミュレータを表示したかったです。 Chromeは、いくつかのJSONファイルまたはsomething.Ifで詳細がJava

+0

@yeppe from api。クロムがインストールされているローカルマシンから – Madhan

+0

https://developer.chrome.com/multidevice/user-agent ...これを確認してください。ブラウザのユーザーエージェント文字列(UA)は、使用されているブラウザ、バージョン、およびどのオペレーティングシステム上にあるか。機能検出APIが利用できない場合は、UAを使用して動作やコンテンツを特定のブラウザのバージョンにカスタマイズします。 – yeppe

+0

はい、私はそれを得ました、私は今のところそれを使用しています。しかし、私はそれを望んでいない、私はエミュレータのリストを取得したい – Madhan

答えて

0

でそれにアクセスし、それを印刷するので、どのようにすることを保存することができメモ帳++Find in Filesを行なったし、それを見つけました。

データは

CファイルにJSON形式で保存されている:\ユーザーは、ユーザー名を\ \のAppData \ローカル\ Googleの\クローム\ユーザーデータ\デフォルト\環境

キーの下に

デベロッパーツール>設定> standardEmulatedDeviceList

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); 
     } 
    } 
} 
関連する問題