Selenium WebDriver 入門
一、什麼是Selenium WebDriver
WebDriver 以在地化方式驅動瀏覽器,就像使用者在本地或使用Selenium 伺服器的遠端機器上所做的那樣,這標誌著瀏覽器自動化的飛躍。
Selenium WebDriver 指的是語言綁定和各個瀏覽器控製程式碼的實作。這通常被稱為 WebDriver。
Selenium WebDriver 是 W3C 推薦標準。
WebDriver 被設計成一個簡單和簡潔的程式介面。
WebDriver 是一個簡潔的物件導向 API。
它能有效地驅動瀏覽器。
二、安裝Selenium WebDriver
本文使用環境為python3.11 win10 64位元firefox瀏覽器,所以本文使用的瀏覽器驅動是Firefox的geckodriver ,如果你使用的是其他瀏覽器,那麼選擇自己對應的瀏覽器驅動程式即可。
2.1 安裝selenium類別庫
最簡單的方式就是使用pip直接安裝
pip install selenium
2.2 安裝瀏覽器驅動程式
透過WebDriver, Selenium支援市場上所有主要瀏覽器, 如Chrome、Firefox、Internet Explorer、Edge和Safari. WebDriver盡量使用瀏覽器內建的自動化支援來驅動瀏覽器.
由於除Internet Explorer之外的所有驅動程式實作都是由瀏覽器供應商自己提供的, 因此標準Selenium發行版中不包括這些驅動程式. 本節介紹了使用不同瀏覽器的基本要求.
#打開以下網址https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/install_drivers/
找到瀏覽器驅動下載的鏈接,這裡可以看到Selenium支援的多個瀏覽器驅動,你自己電腦上裝了什麼瀏覽器,就下載對應的驅動程式即可,本文使用的是firefox,所以選擇firefox的驅動程式。
點擊firefox驅動程式下載鏈接,進入到github的releases頁面,可以看到各個版本的驅動程序,本文是win10 64位,選擇的是geckodriver-v0. 32.0-win-aarch74.zip ,依照自己的系統選擇對應的檔案即可。
解壓縮後面是一個可執行文件,如下所示:
2.3 配置環境變數
依序開啟我的電腦->屬性->高級系統設定->環境變量,雙擊path,點擊新建,輸入驅動程式geckodriver.exe所在的目錄即可,然後一路點擊確定。
#簡單驗證一下,新開啟一個控制台,輸入驅動程式檔案名,此處為geckodriver.exe,能夠正常打開即可
當然了,還有個野路子,就是直接把該驅動程式放到你的Python目錄下Scripts文件夾中,執行python腳本的時候也能夠直接打開即可。例如我的目錄是D:\Python\Python311\Scripts
三、寫第一個Selenium腳本
當你完成Selenium安裝and 驅動安裝後, 便可以開始書寫Selenium腳本了。
Selenium所做的一切, 就是發送給瀏覽器命令, 用以執行某些操作或為信息發送請求. 您將使用Selenium執行的大部分操作, 都是以下基本命令的組合:
1.使用驅動實例開啟會話
driver = webdriver.Firefox()
2.在瀏覽器上執行操作
#在本例中, 我們導航到一個網頁.
driver.get("https://www.selenium.dev/selenium/web/web-form.html")
3.請求瀏覽器資訊
您可以要求一系列關於瀏覽器的資訊, 包括視窗句柄、瀏覽器尺寸/位置、cookie、警報等
title = driver.title
4.建立等待策略
將程式碼與瀏覽器的當前狀態同步是Selenium面臨的最大挑戰之一, 做好它是一個高級主題.基本上, 您希望在嘗試定位元素之前, 確保該元素位於頁面上, 並且在嘗試與該元素交互之前,該元素處於可交互狀態。隱式等待很少是最好的解決方案, 但在這裡最容易演示
driver.implicitly_wait(0.5)
5.发送命令 查找元素
大多数Selenium会话中的主要命令都与元素相关, 如果不先找到元素, 就无法与之交互
text_box = driver.find_element(by=By.NAME, value="my-text") submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")
6.操作元素
对于一个元素, 只有少数几个操作可以执行, 但您将经常使用它们
text_box.send_keys("Selenium") submit_button.click()
7.获取元素信息
value = message.text
8.结束会话
这将结束驱动程序进程, 默认情况下, 该进程也会关闭浏览器. 无法向此驱动程序实例发送更多命令
driver.quit()
让我们将这8个部分组合成一个完整的脚本, 包括需要使用的库
from selenium import webdriver from selenium.webdriver.common.by import By def test_eight_components(): driver = webdriver.Firefox() driver.get("https://www.selenium.dev/selenium/web/web-form.html") title = driver.title assert title == "Web form" driver.implicitly_wait(0.5) text_box = driver.find_element(by=By.NAME, value="my-text") submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button") text_box.send_keys("Selenium") submit_button.click() message = driver.find_element(by=By.ID, value="message") value = message.text assert value == "Received!" driver.quit()
以上是Python怎麼使用Selenium WebDriver的詳細內容。更多資訊請關注PHP中文網其他相關文章!

numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,內存效率段

numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero

Inpython,一個“列表” isaversatile,mutableSequencethatCanholdMixedDatateTypes,而“陣列” isamorememory-sepersequeSequeSequeSequeSequeRingequiringElements.1)列表

pythonlistsandArraysareBothable.1)列表Sareflexibleandsupportereceneousdatabutarelessmory-Memory-Empefficity.2)ArraysareMoremoremoremoreMemoremorememorememorememoremorememogeneSdatabutlesserversEversementime,defteringcorcttypecrecttypececeDepeceDyusagetoagetoavoavoiDerrors。

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

選擇Python還是C 取決於項目需求:1)如果需要快速開發、數據處理和原型設計,選擇Python;2)如果需要高性能、低延遲和接近硬件的控制,選擇C 。

通過每天投入2小時的Python學習,可以有效提升編程技能。 1.學習新知識:閱讀文檔或觀看教程。 2.實踐:編寫代碼和完成練習。 3.複習:鞏固所學內容。 4.項目實踐:應用所學於實際項目中。這樣的結構化學習計劃能幫助你係統掌握Python並實現職業目標。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1
強大的PHP整合開發環境

WebStorm Mac版
好用的JavaScript開發工具