空氣污染監測網,使用selenium上的問題?
2020/01/04 下午 03:47
Python網路爬蟲討論版
Shen Bo-Ren
觀看數:1
回答數:2
收藏數:1
pycrawler
pycrawler-d22
您好:
關於selenium的使用上,我發現到一個問題。
在範例裡,將「# 打開瀏覽器」、「# 模擬使用者操作行為,選擇/點擊」與「# 取得資料,丟到 BeautifulSoup 解析」拆分成三個不同的格子去執行。
不過我嘗試將這三個格子放在同一個同時去執行時,發現到有下面這個問題:
但是我如果將BeautifulSoup 解析 這一段額外在放在一個格子去執行,卻能順利抓取到該表格:
所以如果要讓程式正常運行下去,就必須要額外拆開來執行嗎?
若未來將這個程式變成 .py,就無法將這兩段合併成一個檔案執行了?
回答列表
-
2020/01/04 下午 08:12寶寶贊同數:1不贊同數:0留言數:0
一起執行要寫時間延遲,要等他點完之後延遲一段時間讓網頁整個出來,之後再做擷取網頁的動作
-
2020/01/04 下午 11:24張維元 (WeiYuan)贊同數:4不贊同數:0留言數:0
1. 所以如果要讓程式正常運行下去,就必須要額外拆開來執行嗎?
=> 對的,主要是因為 browser.page_source 這行指定是抓取目前瀏覽器上的畫面。如果連著一起執行的話,有可能只行到這一行的時候畫面還尚未載入。
2. 若未來將這個程式變成 .py,就無法將這兩段合併成一個檔案執行了?
=> 簡單的方法你可以寫一個 while 迴圈一直檢查,直到抓到資料才跳出。進階一點可以參考 seleium 的 wait.until 語法。