logo
Loading...

空氣污染監測網,使用selenium上的問題? - Cupoy

您好:關於selenium的使用上,我發現到一個問題。在範例裡,將「# 打開瀏覽器」、「# 模擬使用...

pycrawler,pycrawler-d22

空氣污染監測網,使用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 語法。