CodeGym /課程 /Python SELF TW /瀏覽器中的基本操作

瀏覽器中的基本操作

Python SELF TW
等級 35 , 課堂 2
開放

1. 打開網頁: 初步操作

如果你曾經夢想成為網頁的主宰者,那麼你來對了地方!今天我們將用 Selenium 打開 網頁並學習如何與它們互動。想像一下,你像指揮家一樣掌控著瀏覽器,而整個互聯網 就像樂團,而樂譜就是 Python 代碼。現在讓我們開始我們的音樂會吧!

在我們與網頁互動之前,首先我們需要打開它,對吧?這就像在找到書之前先步入圖書館一樣。在 Selenium 中,打開網頁是通過瀏覽器驅動完成的。目前,我們假設你已經安裝好了 Selenium 和對應的瀏覽器驅動(例如 ChromeDriver 或 GeckoDriver)。如果你參加過之前的課程,你應該知道怎麼做。如果沒有,請回到之前的內容並復習。

現在,我們來看看如何從簡單打開網頁開始:

Python

from selenium import webdriver

# 創建 Chrome 瀏覽器的 webdriver 實例
driver = webdriver.Chrome()

# 打開網頁
driver.get('https://www.example.com')

# 在控制台輸出頁面標題
print(driver.title)

# 關閉瀏覽器
driver.quit()

代碼中發生了什麼:

  1. 匯入 webdriver: 這是 Selenium 的核心,用於管理瀏覽器。
  2. 創建驅動: 在這裡我們創建一個 Chrome 的驅動對象。這也可以是其他的瀏覽器,只要你有對應的驅動。
  3. 打開頁面: get() 方法加載提供的 URL。
  4. 獲取標題: 使用 driver.title 我們可以在控制台輸出當前頁面的標題。
  5. 關閉瀏覽器: quit() 方法用於結束瀏覽器的操作。

就這樣,我們成功打開了第一個網頁!這是邁向世界控制...呃...我想說,邁向自動化的重要一步!

2. 導航與標籤頁操作

僅僅打開頁面是不夠的。有時我們需要在頁面之間移動,甚至打開多個標籤頁。想像一下,你是一個旅行者,可以瞬間在不同地方之間傳送。用 Selenium 你也可以做到這一點。

頁面之間的切換

從一個頁面跳轉到另一個頁面,就像打開一個頁面一樣簡單:

Python

# 跳轉到另一個頁面
driver.get('https://www.example.org')

# 使用 back() 方法返回上一頁
driver.back()

# 使用 forward() 方法前往下一頁
driver.forward()

標籤頁操作

那麼,如何打開新標籤頁呢?這就像在不同城市的圖書館裡攜帶筆記本電腦一樣!

Python

# 打開一個新標籤頁並切換過去
driver.execute_script("window.open('https://www.example.com', '_blank');")
driver.switch_to.window(driver.window_handles[1])

# 返回到第一個標籤頁
driver.switch_to.window(driver.window_handles[0])

解釋:

  • execute_script(): 用於在瀏覽器中執行 JavaScript 代碼。在這裡,我們用它打開了一個新標籤頁。
  • switch_to.window(): 這個方法用於在標籤頁之間切換。我們使用 window_handles 獲得所有打開的標籤頁的列表。

3. 與網頁互動

現在我們已經學會了打開和導航頁面,讓我們來進一步學習如何與它們交互——像一個真正的程序員一樣!這就像學會與每個網頁共舞,並且可以自信地展現你的技巧。

交互介面

看看這個例子,學習如何與頁面上的元素進行交互。例如,查找一個文本框並輸入文字:

Python

# 根據名稱查找元素
search_box = driver.find_element_by_name('q')

# 在找到的文本框中輸入文字
search_box.send_keys('Selenium Python')

# 查找搜索按鈕並點擊
submit_button = driver.find_element_by_name('btnK')
submit_button.click()

解釋:

  • find_element_by_name(): 用於根據名稱查找元素。在這裡,我們在頁面上定位搜索文本框。
  • send_keys(): 用來向找到的元素中輸入文字。
  • click(): 模擬點擊一個元素,比如按鈕。

其他方法

還有很多方法可以用於更複雜的與頁面元素的交互。想更深入了解,可以查看 Selenium 官方文檔。這裡我們僅介紹幾個常用的:

  • find_element_by_id(): 根據 ID 查找元素。
  • find_element_by_class_name(): 根據類名查找元素。
  • find_element_by_css_selector(): 使用 CSS 選擇器查找元素。

現在你可以像真正的網頁探險家一樣打開和探索網頁了!不要害怕嘗試新東西。俗話說:「犯錯是通往成功的階梯」,尤其是當你確保代碼安全且經過測試時!

常見錯誤

使用 Selenium 可能會讓人覺得像是在走雷區一樣,如果你不了解一些常見的陷阱。最常見的錯誤之一就是忘記結束瀏覽器會話,這可能導致瀏覽器進程卡在記憶體中。一定要在腳本的末尾使用 driver.quit()

Selenium 的另一個常見「痛點」是網頁結構的變化。如果元素是通過選擇器找到的,而網站開發者改變了 HTML 的結構,那麼你的腳本可能會突然無法運行。這就像當你嘗試進入房間時,門被突然關上了一樣。寫靈活的代碼並定期更新它以適應網站變化是非常重要的。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION