作者littlebear00 (bear)
看板Ajax
標題Re: [問題] 想請問有沒有辦法抓到動態的網頁?
時間Wed May 26 21:08:02 2010
謝謝TonyQ大大熱心指導
我目前沒有透過server端處理(看網頁上的資料似乎要做proxy??...還不是很懂)
我目前的完整動作如下
<script type="text/javascript" src="jquery.js"/>
<script type="text/javascript">
function init(){
var iFrameObj = document.createElement('IFRAME');
iFrameObj.src = url;
iFrameObj.id = 'myFrame';
document.body.appendChild(iFrameObj);
$(iFrameObj).load(
function checkFrame(){
alert('myFrame loaded.');
//這邊應該要抓取ifram裡面的值
//可惜無法跨網域
}
);
}
</script>
...
<body onload="init()"></body>
...
2010/05/26 更新!
http://blog.csdn.net/sfdev/archive/2009/02/13/3887006.aspx
似乎可解!
: 最近再寫project的時候碰到一個頗頭痛的問題...
: 我必須拿到一份"動態執行過"的網頁原始碼
: 再對內部加以分析
: 想請問像下方程式碼的例子
: 有沒有辦法抓到利用javascript安插進去的<iframe>??
: 而不是什麼內容都沒有的<body>
: 程式碼:
: <script type="text/javascript">
: ...
: var iFrameObj = document.createElement('IFRAME');
: document.body.appendChild(iFrameObj);
: ...
: </script>
: ...
: <body></body>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.51.146
1F:→ TonyQ:你連結中提到的幾乎都要透過SERVER SIDE的協助啊 05/26 21:30
2F:→ TonyQ:第一個就是我說得proxy法,第二個是json載入要對方有支援, 05/26 21:30
3F:→ TonyQ:第三個要同父網域底下。 05/26 21:31
4F:→ TonyQ:第二個大概是最不可行的,不過還是要看對方網站。 05/26 21:31
5F:→ TonyQ:第三個你應該可以清楚判斷可不可行,第一個是要考慮到對應的 05/26 21:32
6F:→ TonyQ:js檔之類的東西要怎麼處理會有點麻煩. 05/26 21:32
7F:→ littlebear00:驚! T大 你的意思是該不會load回來的js是未執行的? 05/26 21:43
8F:→ j100002ben:對了,有沒有辦法用Iframe拉進來再去找DOM元素? 05/28 02:34
9F:→ j100002ben:iframe映像中可以跨網域.... 05/28 02:34
10F:→ TonyQ:iframe可以跨網域瀏覽,但是要用js取內容是做不到的。 05/28 10:58
11F:→ TonyQ:我早就實驗過了~-~ (有開firefox特別環境參數例外) 05/28 10:58
12F:→ j100002ben:謝謝樓上~~~^^ 05/28 11:08