在开发工具下获取可用元素->资源→帧
Get Element available under Dev Tools -> Resources -> Frames
我正试图通过使用Tampermonkey脚本来做到这一点。但是我愿意接受新的方法…
我想做的是从特定的<div>
中提取一些数据(data-video
)。然而,这些数据在页面的HTML代码下不可用,但它在开发工具->资源和框架下可用。
谁知道是否有可能得到DevTools下可用的信息?我该怎么做呢?
两个页面的比较可以在这里找到:"Original HTML PAGE"answers"HTML PAGE under DevTools"
在第一个超链接上不能看到id=video-canvas
,但是它在<object type="application/x-shockwave-flash
上(…)
正如您在问题中所述,您正在寻找的数据可在"框架"文件夹中的"资源"选项卡下的DevTools中找到。你现在看到的是源HTML,类似于查看源。
你想要的代码,就是被替换的代码。似乎该网站正在使用JW播放器插件,它正在用检测到播放视频的设备/浏览器的适当HTML替换<div id="video-canvas">
。在我的Mac上,我所有的浏览器都被迫使用Flash,即使它被禁用了。当使用我的iPhone时,它不能播放flash,并检查页面,它使用JW自己的自定义视频元素。它似乎必须将文件位置存储在内存中,因为它不在生成的标记中。
我能够在开发工具中运行控制台并访问它们的JS类。看来我可以调用jwplayer._tracker
,它有一个对象b
。对象b
有一个对象AlWv3iHmEeOzwBIxOUCPzg
这个对象似乎是一致的,每次我检查不同的浏览器之间,你可以使用我的第一个例子中的for循环来获得正确的值,但将其固定到。b该对象是e
,在e
是对象http://i.n.jwpltx.com/v1....
真的很长的字符串,似乎包含一个url,所以它需要解析。
为了得到HTML字符串,我输入
for ( var loc in jwplayer._tracker.b.AlWv3iHmEeOzwBIxOUCPzg.e){
loc
}
所以如果我们把它放入一个函数中来解析字符串并返回一个值
function getSubURL(){
var initURL;
for ( var loc in jwplayer._tracker.b.AlWv3iHmEeOzwBIxOUCPzg.e){
initURL = loc;
}
//look for 'mp4:' this is in front of the file path
var start = initURL.indexOf("mp4%3A");
//look for the .mp4 for the end of the file name
var stop = initURL.indexOf(".mp4");
//grab the string between
//start+6 to remove characters used to find it
//and stop+4 to include characters used to find it
var subPath = (initURL.substring((start+6),(stop+4))).split("%2F").join("/");
return subPath;
}
//and run it
getSubURL();
它将返回ciencia/astronomia/fimsol.mp4
你可以从你的控制台运行这个,但我不知道你如何在篡改猴子中使用这个,但我认为它让你更接近你想要的。
这是我用来解决我的问题的方法…我无法在开发工具下获取我想要的代码,但我找到了一种方法,可以使用getPlaylistItem
函数从jwplayer获取数据。这就是我获取每个视频的url文件名的方法:
function getFilename(filename) {
var filename;
if(jwplayer().getPlaylistItem){
filename = jwplayer().getPlaylistItem()['file'];
}
else{
return filename;
}
filename = filename.substring(filename.indexOf("/mp4:") + 5);
return filename;
}
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 只有当Angular从资源对象检索数据时,才选择选项元素
- Aurelia的需求元素包括内联的外部资源
- 通过电话间隙减少隐藏元素的资源消耗
- 限制HTML文档或iframe元素中允许的资源
- 如何防止Chrome中未附加元素的资源加载
- 从元素背景中抓取图像元素作为DOM资源
- 如何在AngularJS中管理资源的多个元素
- 在开发工具下获取可用元素->资源→帧