2017-11-21 4 views
1

ウェブ解析を自動化する必要があり、そのためにGoogleコードから「Googleタグマネージャ」GTMスクリプトを起動する必要があります。例: ユーザーはdataLayer JavaコードからGoogleタグマネージャスクリプトを起動するには

  • 私は後藤クロームコンソールとdataLayerを入力し、Enterキーを押しますすることができます

    (window,document,'script','dataLayer','GTM-KWW5SS');

    あるGTMのスクリプトを探します
  • https://www.etsy.com/

    • ユーザーが行きますキーを押して値を確認してください

    Javaコードからこれを行うにはどうすればよいですか?

+0

で達成できますそこにスクリプトがあります)。それは、ページ内のjavascript変数の値を返すことができる関数を持っています。私の唯一の経験はPythonであり、Javaの部分を手助けすることはできませんが、SO上の "Selenium Webdriver Java"を検索すると結果が得られます。 –

+0

@EikePierstorff検索しましたが、javascriptオブジェクトを呼び出して値を抽出するJavaソリューションが見つかりませんでした。ここであなたのpythonソリューションを共有してください – vikramvi

+0

ここで役立つ質問/回答があります:https://stackoverflow.com/questions/11430773/how-to-use-javascript-with-selenium-webdriver-java Pythonでは、executeScriptを使用してパラメータとして「return 」を渡すことができ、Python programmで使用する値を返します。私はそれがJavaで似たように動作すると仮定します。 –

答えて

0

私は私はあなたが求めているものはかなりわからないんだけど、あなたはセレンwebdriverを(ウェブサイトを呼び出して実行することができ、自動化ツールのようなものを探しているように聞こえる以下のコード

 JavascriptExecutor js = (JavascriptExecutor)getDriver(); 

     ArrayList<Map<String, List<String> >> myList = new ArrayList<>(); 

     //Execute GTM script to fetch values  
     myList = (ArrayList) js.executeScript("return window.dataLayer"); 

     // Parse through GTM arrayList 
     for(int a=0; a < myList.size(); a++) { 
      for (String key : myList.get(a).keySet()) { 
       System.out.println(key + "  " + myList.get(a).get(key)); 

      } 
     } 

     //Next Step 
     // assert against expected values 
関連する問題