在任何YouTube视频页面(例如Gangnam Style)中,XPath无法访问某些元素。例如,我正在尝试访问“显示更多”按钮
从Inspect Window获取XPath
并使用此代码
btn=$x('//*[@id="widget_bounds"]/div[2]/div[4]/div[7]/div[3]/span[1]');
但我什么也没得到,或者更确切地说,是一个空列表:
我之前从未遇到过这个问题,他们是否使用某种混淆技巧来阻止该项被访问?
有办法解决它吗?
答案 0 :(得分:1)
您要覆盖的内容位于页面上的iframe中。但问题是你无法访问内容,因为Same Origin Policy会阻止它。
document.getElementById("I0_1392927253257").contentWindow.document
SecurityError: Blocked a frame with origin "http://www.youtube.com" from accessing a cross-origin frame.
查看@sashoalm's link below以更改Chrome中iframe的上下文。