把先前寫的 twitter2facebook 改寫,從本來固定用 Chromium 65 換成用 Firefox ESR。
當初會用 Chromium 65 這個很舊的版本,是因為這個版本還沒有把 headless 使用的 profile 獨立出來,而我需要 Facebook 登入的 cookie,所以就這樣用了,但畢竟用舊版是個討厭的隱患,還是花了些時間研究出來要怎麼用有 security update 的瀏覽器。
這次換成 Firefox ESR 主要是希望 ESR 版本不會太常改爛東西,不過缺點就是 selenium 4.x 不支援 ESR 版本的 geckodriver (參考「Old geckodriver releases raise an exception (code 64) if started with unsupported --websocket-port argument #1959」這個 issue),而且關不掉 --websocket-port
這個參數,所以我只好在 requirements.txt
內設定用 3.x 最後一個版本的 selenium==3.141.0
了。
不過預期明年 ESR 更新的時候又要再改了,到時候再看看吧...
另外一個遇到的小問題是,我發現 Facebook 登入第一次後,關掉瀏覽器再打開會被登出,這時候再登入一次後面就正常了,但不知道為什麼...