爬蟲學習日記(二)

KIM曉峰發表於2018-11-28

首先要解決的是這個異常:

爬蟲學習日記(二)

在專案中會報錯的應該是這一句:

爬蟲學習日記(二)

這一句用了selenium四種等待方式中的顯示等待:

顯式等待(explicit),顯式等待情況下,只有特定條件觸發後,也就是說明確的等到介面某元素出現或者某可點選 等條件為止,WebDriver 才會繼續執行後續操作,等不到,就一直等,除非在規定的時間之內都沒找到,那麼 就丟擲org.openqa.selenium.TimeoutExceptionn異常。

所以我設定的這個搜尋條件,我在那個網站上搜尋過,沒有這條feeder的資訊,所以就不會有顯示的資料,在timeout時間內他嘗試了這麼多次,也沒有顯示這麼多次,也沒有資料顯示出來,就跑出來TimeoutException了。OK,原因找到。

現在要看能不能換一種等待方式,讓它搜尋不出來也不會丟擲異常。

百度了一下,發現並不能替換一種等待方式,因為顯式等待就是要有特定條件,他才會停止條件,這條語句等待的條件就是出現有想搜尋的船的資料,他才會停止等待,不然就丟擲timeoutException,所以換個角度,從丟擲的exception入手。

爬蟲學習日記(二)

debug了stack e ,發現它裡面就是selenium的exception,看了專案裡面的exception,發現

爬蟲學習日記(二)

這個InvalidException類有一個方法是不用穿e,只用傳一個string,我試試傳一個String:

爬蟲學習日記(二)

debug以後 問題解決:

爬蟲學習日記(二)


爬蟲學習日記(二)

哈哈哈哈 可以說這是我第一次完成task 開心的一批 隨便總的來說就是改一個log 但是感覺跟之前不一樣 總算找到一點門路 真特麼嗨皮

加油啊 為狗子成為更好的人。

相關文章