我正试图找到一种方法,通过Python从无头浏览器的网站中提取GA数据层对象,因此;我按照here的说明操作 和...
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get("http://www.example.com/")
# DL = currentURL.dataLayer
# Do something with DL
我在这里找的关键字是什么? driver.something
应该给我dataLayer对象。提醒一下:dataLayer对象是一个javascript对象。
答案 0 :(得分:2)
根据我的理解,var str = "i like barbeque at dawn";
var regex = /(?=\b([a-zA-Z]+ [a-zA-Z]+)\b)/g;
var matches= [];
while ((match = regex.exec(str)) != null) {
if (match.index === regex.lastIndex)
regex.lastIndex++;
matches.push(match[1]);
}
console.log(matches);
//=> ["i like", "like barbeque", "barbeque at", "at dawn"]
是一个全局变量,请使用execute_script()
:
dataLayer
请注意,在执行脚本之前,您可能需要explicitly wait才能加载页面。
或者至少增加page load timeout:
driver.execute_script("return dataLayer;")