### 歡迎訪問我的GitHub > 這裡分類和彙總了欣宸的全部原創(含配套源碼):[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) ### 本篇概覽 - 本文是《quarkus實戰》系列的第二篇 ...
Selenium是一個非常強大的工具,用於自動化Web瀏覽器的操作。它可以模擬真實用戶的行為,如點擊按鈕,填寫表單,滾動頁面等。由於Selenium可以直接與瀏覽器交互,所以它可以處理那些需要JavaScript運行的動態網頁。
安裝Selenium
首先,我們需要安裝Selenium庫。你可以使用pip命令來安裝:
pip install selenium
然後,你需要下載一個WebDriver。WebDriver是一個特殊的瀏覽器驅動程式,Selenium通過它來控制瀏覽器。對於不同的瀏覽器,有不同的WebDriver。最常用的WebDriver包括ChromeDriver(用於Google Chrome)和GeckoDriver(用於Firefox)。你可以從它們的官方網站下載對應的WebDriver。
打開和關閉瀏覽器
在Selenium中,我們使用webdriver
模塊來控制瀏覽器。以下是一個打開Google主頁的例子:
from selenium import webdriver
driver = webdriver.Chrome('/path/to/chromedriver')
driver.get('https://www.google.com')
driver.quit()
請註意,你需要替換'/path/to/chromedriver'為你電腦上的實際路徑。
get
方法用於打開一個網頁,quit
方法用於關閉瀏覽器。
找到元素
Selenium提供了多種方式來找到頁面上的元素,如通過元素的ID,類名,標簽名,CSS選擇器,XPath等。
例如,我們可以找到Google主頁上的搜索框:
search_box = driver.find_element_by_name('q')
操作元素
找到元素後,我們可以對它進行各種操作。
例如,我們可以向搜索框輸入文字:
search_box.send_keys('Hello, Selenium!')
然後,我們可以提交表單:
search_box.submit()
等待
由於網頁的載入可能需要一些時間,Selenium提供了等待(wait)功能。有兩種等待方式:顯式等待和隱式等待。
顯式等待是指等待某個條件成立,然後再進行下一步。例如,等待一個元素變得可點擊:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
submit_button = wait.until(EC.element_to_be_clickable((By.ID, 'submit')))
隱式等待是指設置一個最長等待時間,如果在這個時間內網頁載入完成,則立即進行下一步:
driver.implicitly_wait(10)
這就是Selenium的基本用法。通過使用Selenium,你可以模擬幾乎所有的用戶行為,這使得它在處理動態網頁時非常有用。
推薦閱讀:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g