Quiero obtener el visitor_id en la etiqueta del script.
<script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({ "currentVer": "v137.4", "is_internal": false, "CBPageType": "Recommendations", "is_jdp": false, "site_id": "cbnsv", "user_status": "Unknown", "search_engine": "solr_v4", "session_id": "42d3f1b678413a86e8ed79938348d165", "server_pool_name": "rails", "ipath": "CRJR6", "InGlobalExperimentGroups": "LightRegistration:default|extended_top_jobs:experiment1|colab_menu:experiment1|FreeReviewCV:control|HomepageChat:default|RemoveModalExternalApply:experiment1|SourceLocation:default|internal_apply_v3:default", "in_global_experiment_groups": "LightRegistration:default|extended_top_jobs:experiment1|colab_menu:experiment1|FreeReviewCV:control|HomepageChat:default|RemoveModalExternalApply:experiment1|SourceLocation:default|internal_apply_v3:default", "in_page_experiment_groups": "LightRegistration:default|extended_top_jobs:experiment1|colab_menu:experiment1|FreeReviewCV:control|HomepageChat:default|RemoveModalExternalApply:experiment1|SourceLocation:default|internal_apply_v3:default", "browser_id": "X19EF84C01BB9BD92A590AC63F87B5CF5554F72399AB1C3B25092D02C262681753351F7E3AD4D7921B0B0ADDD1833CD50A", "visitor_id": "VXDAFEAA801C5A11EC8BCB8F02C62498172220O1", "visitor_classification_onet": "", "visitor_classification_carotene": "", "visitor_state": "Tracked" }) </script> El visitor_id es dinámico. ¿Cómo puedo obtener el visitor_id ? Estoy usando selenio. Gracias por adelantado.
En cualquier javascript ejecutado (no cargado, puede cargarlo antes siempre que se ejecute después) después de la etiqueta <script> suya, solo tiene que hacer:
var visitorId = window.dataLayer[0].visitor_id;o
var visitorId = window.dataLayer[0]["visitor_id"]; Usé 0 como índice porque su ejemplo solo empuja un elemento. Pero en caso de que sea diferente, deberá usar el índice apropiado.
Actualizar
Para evaluarlo desde Java cuando usa selenio, use esto:
WebDriver driver = //your driver declaration here. You should already have this // ... random selenium stuff you sure have JavascriptExecutor js = (JavascriptExecutor) driver; String visitorId = (String) js.executeScript("window.dataLayer[0].visitor_id");