[心得] 控制帶框架的 IE 瀏覽器存取被拒

看板Python作者 (allstar)時間15年前 (2009/10/29 23:50), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
其實我也不確定這做法正不正確,不過至少現在會動了 之前寫了一個程式,用 python 控制 IE 瀏覽器處理資料,目標網站有使用框架 之前都能正常執行,可是在某次目標網站更新後,出現 pywintypes.com_error: (-2147352567, '\xb5o\xa5\xcd\xa8\xd2\xa5~\xaa\xac\xaap \xa1C', (0, None, u'\u5b58\u53d6\u88ab\u62d2\u3002\r\n', u'C:\\WINDOWS\\syst em32\\mshtml.hlp', 0, -2147024891), None) 這個錯誤,確認為存取被拒的訊息 偵錯得知是 ie.Document.frames[0].Document 這行出了問題 ie.Document.frames[0] 沒問題,但無法訪問 frame 的 Document Google 得知應該是安全性方面的問題,似乎是跨 frame 訪問有安全性上的限制 通過 IInternetSecurityManager::GetSecurityId 這個函數判斷站點是否在同一域 可以自己實現一個 Internet 安全管理器來覆蓋默認的安全設置 問題是找不到完整的範例用 python 來實現,而且我怕把系統弄壞了復原不了 最後解決方法 更改 IE 的安全性,將目標網站加入信任的網站中,問題就消失了 結果一行 code 都沒改 orz ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.129.191

10/30 00:11, , 1F
真是好心得..我也覺得有個sample會比較快 XD
10/30 00:11, 1F
文章代碼(AID): #1AwRceba (Python)
文章代碼(AID): #1AwRceba (Python)