Skip to content

在colab跑selenium遇到的問題 #5

Answered by jwlin
philosopher1121 asked this question in Q&A
Discussion options

You must be logged in to vote

我的理解是:沒有辦法在 colab 執行瀏覽器的 GUI 介面。我們在執行 Google colab 的程式碼時,是使用 Google 提供的虛擬機,而這些機器應該都是 Server 版本,只有命令列,沒有圖形介面。我們可以下載 Chrome webdriver 的執行檔,並且以 headless 模式讓 webdriver 與網站互動(如同你的程式碼),在 headless 模式下,瀏覽器會在背景啟動,並且去瀏覽網站、取得資料,但是因為機器本身就沒有圖形介面,因此無法把互動過程用 GUI 即時顯示出來。

如果要知道 webdriver 執行過程,據我所知只有幾個方法:

  1. 在本機執行程式碼,此時就會開啟本機安裝的有圖形介面的瀏覽器,即可看到執行過程
  2. 在程式執行步驟之後,可以讓 webdriver 丟出目前看到的畫面 (driver.save_screenshot(), 或 driver.get_screenshot_as_png()) 或 HTML 碼 (driver.page_source),一步步確定 webdriver 目前看到的是什麼畫面
from IPython.display import display, Image
screenshot = driver.get_screenshot_as_png()
display(Image(data=screenshot)

我的理解可能有錯,如果你找到了在 colab 開啟 GUI 瀏覽器的方式,可以貼上來我再研究看看

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@philosopher1121
Comment options

Answer selected by jwlin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants