看板 Python 關於我們 聯絡資訊
※ 引述《yahoo168 (努力就會有騷貨)》之銘言: : https://mops.twse.com.tw/mops/web/t108sb19_q1 : 輸入ticker(ex:1201)之後 : 有一個詳細資料可以打開,會跑出彈出式視窗,裡面有股利說明書 : 目前用selenium可以模擬開啟,但抓原始碼會回到原來的頁面 : 因為新開啟的這個頁面連網址都要沒有 是個彈出式的空白頁 : 請問該怎麼定位呢QQ 我自己拿這篇文練習我在開發人員工具看不到推文S大的request 只看到ajax_t1108sb19 import requests from bs4 import BeautifulSoup request_url = "https://mops.twse.com.tw/mops/web/ajax_t108sb19" headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'} form_data = { 'encodeURIComponent': '1', 'run': 'Y', 'step': '1', 'TYPEK': 'sii', 'year': '107', 'co_id': '2812', 'month': 'all', 'isnew': 'true', 'firstin': 'true' } response = requests.post(request_url, data=form_data,headers=headers) soup = BeautifulSoup(response.text) soup.find_all('input') 到這篇就卡住點選後也直接跳出視窗,但開發人員工具XHR並沒有在顯示其他檔案 https://imgur.com/a/WQA4S3R 顯示如上,請問這邊要在如何觀察呢? 謝謝 ======================================================================= import requests from bs4 import BeautifulSoup request_url = "https://mops.twse.com.tw/mops/web/ajax_t108sb22" headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36' } form_data = { 'encodeURIComponent':'1', 'firstin': 'true', 'TYPEK':'sii', 'year': '107', 'co_id': '2812', 'month': 'all', 'isnew': 'true', 'TYPEK': 'sii', 'isnew': 'true', 'DATE1': '20190812', 'SEQ_NO': '1', 'COMP': '2812', 'SKIND': 'G', 'step': '2' } response = requests.post(request_url, data=form_data,headers=headers) 這樣就可以了~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.15.8 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1588924062.A.EB9.html
boboye: https://imgur.com/a/IityCNl 看reponse依然停留在原本 05/08 15:53
TuCH: 點了之後 他呼叫了openWindow() 可以從那邊找 05/08 22:53
TuCH: 找一個小時好像快找到了 但我有點累了 05/08 22:54
s860134: 有那麼辛苦嗎... 最差也可以錄封包@@ 05/08 22:59
s860134: 另外 F12 開發者工具是可以插中斷點並在 console 印出中 05/08 23:02
s860134: 斷點 scope 的變數 05/08 23:02
boboye: 後來有熱心版友教學,當你點下詳細資料後 針對開啟的視窗 05/08 23:04
boboye: 快速按下ctrl + shift n就可以得到了我之前是一直停在原 05/08 23:05
boboye: 本的那頁,用抓封包這個也不賴 感謝各位熱心 05/08 23:06
boboye: 更正:chrome的 ctrl+shift+i 05/08 23:10
TuCH: 對網路知識還不是很熟 不知道有沒有人可以詳細講解一下 05/08 23:24
s860134: https://imgur.com/2mEP6SH 就看你找到他 openWindow 後 05/08 23:45
s860134: 可以一步一步的解析他怎麼弄出那個彈窗 05/08 23:46
TakiDog: Charles Wireshark 去錄封包 用requests重現 05/09 00:48
TakiDog: Selenium 真的除非超級難解的擋爬js或是太複雜場景... 05/09 00:49
TakiDog: POST ajax_t108sb19 去parse onclick 中的value 05/09 01:00
TakiDog: 再拿著資料去POST ajax_t108sb22 05/09 01:00
TakiDog: 用debugger可以處理彈窗,或是直接複製openWindow 05/09 01:04
TakiDog: 在Console重新輸入,並且把它彈窗處理掉(X 05/09 01:05
※ 編輯: boboye (114.39.28.145 臺灣), 05/09/2020 20:19:14