我在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.(…)
答案 0 :(得分:0)
尝试为web-security,ssl-errors和ssl-protocol更改以下变量:
casperjs --web-security=false --ignore-ssl-errors=true --ssl-protocol=any <your_script>.js
由于安全设置,您无法在不调整这些变量的情况下访问跨源帧。这应该允许您输入框架并获取必要的内容。