从iframe获取HTML - "未能阅读contentDocument"错误

时间:2015-11-08 16:35:36

标签: javascript jquery phantomjs casperjs

我在casperjs / phantomjs上写了一些抓取脚本,试图从一个好的广告iframe标签中获取html并收到错误

代码:

iframe_node = $('iframe').contents().find('iframe[name^="google_ads_frame"]')[0]
html = a.contentDocument.body.innerHTML

错误:

Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': 
Blocked a frame with origin "http://example.com" from accessing a cross-origin frame.(…)

1 个答案:

答案 0 :(得分:0)

尝试为web-security,ssl-errors和ssl-protocol更改以下变量:

casperjs --web-security=false --ignore-ssl-errors=true --ssl-protocol=any <your_script>.js

由于安全设置,您无法在不调整这些变量的情况下访问跨源帧。这应该允许您输入框架并获取必要的内容。