Selenium安裝與配置

文章目錄

    • 一、selenium安裝
      • 1. Python環境準備:
      • 2. 安裝Selenium:
      • 3. 瀏覽器驅動安裝:
      • 4. 驗證安裝:
    • 二、常見問題
      • 1. Selenium版本與瀏覽器驅動程序不兼容:
      • 2. 瀏覽器驅動程序路徑未正確設置:

Selenium是一個用于Web應用程序測試的自動化工具。它直接運行在瀏覽器中,模擬真實用戶的操作。Selenium支持多種主流瀏覽器,如IE、Mozilla Firefox、Safari、Google Chrome、Opera和Edge等。在爬取數據的時候對于需要登錄后才能爬取的情況往往可以利用Selenium來進行模擬登錄,登錄后進行數據的獲取。這里先介紹Selenium的安裝與配置,實現通過python來驅動瀏覽器進行操作。

一、selenium安裝

要安裝Selenium,首先需要具備Python開發環境。以下是安裝Selenium的步驟:

1. Python環境準備:

  • 打開Python官網:https://www.python.org/downloads/,下載適合你操作系統的Python版本。

  • 安裝Python。在window下安裝python環境非常簡單,直接下一步下一步就可以安裝完成。安裝過程中,確保將Python添加到環境變量中,以便在命令行中運行Python命令。
    在這里插入圖片描述

  • 安裝完成后,可以在命令行中輸入python --version來驗證Python是否安裝成功,并查看版本號。
    在這里插入圖片描述

2. 安裝Selenium:

  • 在命令行中,使用pip(Python的包管理工具)來安裝Selenium。輸入以下命令并按回車鍵執行:
  • 如果你的系統有多個Python版本,可能需要使用pip3代替pip。
pip install selenium

3. 瀏覽器驅動安裝:

  • Selenium支持多種瀏覽器,但每種瀏覽器都需要相應的驅動程序。例如,對于Chrome瀏覽器,你需要下載ChromeDriver。
    ○ 訪問ChromeDriver的下載頁面:https://sites.google.com/a/chromium.org/chromedriver/,選擇與你的Chrome瀏覽器版本相對應的ChromeDriver版本。
    ○ 國內鏡像下載站點 https://registry.npmmirror.com/binary.html?path=chromedriver/
    高版本的ChromeDriver可以在https://chromedriver.com/download 下載
  • 下載后,解壓(如果需要的話),并將ChromeDriver的路徑添加到系統環境變量中,或者將其放在你的項目目錄中。比如我的是放到 C:\python\Scripts 并將C:\python\Scripts配置到了系統環境變量中。
    在這里插入圖片描述

4. 驗證安裝:

參考selenium的官方文檔,創建一個簡單的Python腳本,使用Selenium打開瀏覽器并訪問一個網頁。
運行這個腳本。如果一切順利,它會打開Chrome瀏覽器并導航到指定的URL,然后關閉瀏覽器。
代碼如下:

from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.get("https://www.selenium.dev/selenium/web/web-form.html")title = driver.titledriver.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")
text = message.textdriver.quit()

效果如下:
打開一個瀏覽器,訪問https://www.selenium.dev/selenium/web/web-form.html
在這里插入圖片描述

對瀏覽器中的元素進行操作,最后關閉瀏覽器。
在這里插入圖片描述

請注意,由于Selenium和瀏覽器驅動程序可能會定期更新,因此在安裝和配置過程中,最好參考最新的官方文檔和指南。

二、常見問題

在安裝Selenium的過程中,可能會遇到一些常見的問題

1. Selenium版本與瀏覽器驅動程序不兼容:

  • 問題:安裝的Selenium版本與瀏覽器驅動程序版本不兼容。
  • 解決方案:檢查Selenium和瀏覽器驅動程序的版本,確保它們相互兼容。通常,Selenium的最新版本會支持最新的瀏覽器驅動程序。如果需要,可以降級或升級Selenium或瀏覽器驅動程序以確保兼容性。

2. 瀏覽器驅動程序路徑未正確設置:

  • 問題:瀏覽器驅動程序的路徑未正確設置,導致Selenium無法找到驅動程序。
  • 解決方案:確保將瀏覽器驅動程序的路徑添加到系統環境變量中,或者在Selenium代碼中明確指定驅動程序的路徑。例如,對于ChromeDriver,可以在代碼中這樣設置:
from selenium import webdriver  
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

后續我們將實戰通過selenium來實現登錄到淘寶并獲取淘寶的商品信息。


作者博客:http://xiejava.ishareread.com/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696844.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696844.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696844.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024年1月手機市場行業分析:蘋果手機份額驟降,國產高端手機成功逆襲!

小米Ultra發布。 一方面,我們有望看到國產手機再一次超越自己的決心,繼續創新追逐高端;另一方面,我們也不得不正視目前手機市場所面臨的危機狀態。 2024年1月的線上手機市場遠不如去年。根據鯨參謀數據顯示,今年1月京…

Qt(C++)面試題 | 精選25項常問

面試是每個求職者都必須經歷的一關,而QT面試更是需要面試者有深厚的編程基礎和豐富的實戰經驗。下面我們為大家整理了25道QT面試題,希望能夠幫助大家在求職路上獲得成功。 ?Qt 中常用的五大模塊是哪些? Qt 中常用的五大模塊包括: QtCore:提供了 Qt 的核心功能,例如基本的…

Java面試題之分布式/微服務篇

經濟依舊不景氣啊,如此大環境下Java還是這么卷,又是一年一次的金三銀四。 兄弟們,你準備好了嗎?沖沖沖!歐里給! 分布式/微服務相關面試題解 題一:CAP理論,BASE理論題二:…

深度神經網絡

包括:深度前饋神經網絡、深度卷積神經網絡、深度循環神經網絡 深度神經網絡全面概述:從基本概念到實際模型和硬件基礎-騰訊云開發者社區-騰訊云

MQL語言實現JSON協議庫

文章目錄 一、MQL語言實現JSON協議的意義二、定義JSON數據枚舉類型簡單數據類型復雜數據類型枚舉數據類型定義類變量清理與賦值方法構造與析構方法重載運算符添加與設置方法序列化與反序列方法 一、MQL語言實現JSON協議的意義 數據交互:JSON是一種輕量級的數據交換格…

【2024軟件測試面試必會技能】Postman(1): postman的介紹和安裝

Postman的介紹 Postman 是一款谷歌開發的接口測試工具,使API的調試與測試更加便捷。 它提供功能強大的 Web API & HTTP 請求調試。它能夠發送任何類型的HTTP 請求 (GET, HEAD, POST, PUT..),附帶任何數量的參數 headers。 postman是一款支持http協議的接口調試…

【PTA|函數題|期末復習】指針

目錄 6-1 計算兩數的和與差(5分) 函數接口定義: 裁判測試程序樣例: 輸入樣例: 輸出樣例: 代碼 6-2 拆分實數的整數與小數部分 (5分) 函數接口定義: 裁判測試程序樣例: 輸入…

springboot整合mybatisPlus超級詳細

springboot整合mybatis-plus超級詳細 一、環境二、springboot整合myBatisPlus2.1新建2.2 添加Mybatis-plus和mysql依賴2.3 修改配置文件2.4 新建包和文件2.5 新建表2.6 創建實體類2.7 創建Mapper接口2.8 創建Service接口2.9 創建Service實現類2.10 增刪改查 MyBatis-Plus&#…

C# Onnx 使用onnxruntime部署實時視頻幀插值

目錄 介紹 效果 模型信息 項目 代碼 下載 C# Onnx 使用onnxruntime部署實時視頻幀插值 介紹 github地址:https://github.com/google-research/frame-interpolation FILM: Frame Interpolation for Large Motion, In ECCV 2022. The official Tensorflow 2…

四.QT5工具安裝和環境變量的配置

1.以管理員身份運行安裝包 2.登錄qt賬號,點擊【next】 3.選中同意 4.選擇安裝目錄,注意不能有中文和空格 5.勾選 64位 mingw。點擊【next】,等待安裝完成 6.配置環境變量

[07] 組件注冊

目錄 Vue.js 組件局部注冊全局注冊 Vue.js 組件 組件(Component)是 Vue.js 最強大的功能之一。 組件可以擴展 HTML 元素,封裝可重用的代碼。 組件系統讓我們可以用獨立可復用的小組件來構建大型應用,幾乎任意類型的應用的界面都…

為什么很多人選用QT開發,有哪些應用實例?

在軟件開發領域,Qt框架作為一種跨平臺的C應用程序開發框架,近年來受到越來越多開發者的青睞。這主要得益于其卓越的跨平臺性能、豐富的功能庫、開發效率以及社區支持。以下將通過詳實的分析,從不同角度探討為什么很多人改用QT開發&#xff0c…

低代碼開發:學校低成本數字化轉型的新引擎

隨著科技的飛速發展,數字化轉型已經成為教育行業的一大趨勢。然而,對于許多學校來說,高昂的數字化改造成本成為了一道難以逾越的門檻。本文將探討如何通過低代碼開發,以低成本實現學校數字化轉型,為教育行業注入新活力…

力扣熱題100_子串_560_和為 K 的子數組

文章目錄 題目鏈接解題思路解題代碼 題目鏈接 560.和為 K 的子數組 解題思路 1.定義變量count(計算個數,返回值)為0、n(當前nums長度)、preSums(利用利用defaultdict的特性,當presum-k不存在…

list.stream().forEach()和list.forEach()的區別

list.stream().forEach() 和 list.forEach() 在 Java 中都是用于遍歷集合元素的方法,但它們在使用場景和功能上有所不同: list.forEach(): 是從 Java 8 開始引入到 java.util.List 接口的標準方法。直接對列表進行迭代,它采用內部…

力扣645. 錯誤的集合(排序,哈希表)

Problem: 645. 錯誤的集合 文章目錄 題目描述思路復雜度Code 題目描述 思路 1.排序 1.對nums數組按從小到大的順序排序; 2.遍歷數組時若判斷兩個相鄰的元素則找到重復元素; 3.記錄一個整形變量prev一次置換當前位置元素并與其作差,若差等于2著說明缺失的…

Mysql索引操作

1、索引語法 2、慢查詢日志 慢查詢日志記錄了所有執行時間超過指定參數( long_query_time ,單位:秒,默認 10 秒)的所有 SQL 語句的日志。 MySQL 的慢查詢日志默認沒有開啟,我們可以查看一下系統變量 slo…

MySQL數據庫備份與還原批處理腳本

數據庫備份文件,例如保存為:dump_msyql.bat REM 數據庫備份 echo offREM 激活延遲環境變量擴展,防止變量賦值丟失 setlocal enabledelayedexpansionREM 獲取當天時間 set today%date:~8,2%REM 大前天,當天-3天,小于10…

包裝類日期日歷類

一(Date類): 在JDK的java.util包中,提供了Date類用于表示日期和時間,精確到毫秒。隨著JDK版本的不斷升級和發展,Date類中的大部分構造方法和普通方法都已經不推薦使用。在JDK8中,Date類只有2個構造方法可以使用&#x…

【LeetCode】升級打怪之路 Day 02:有序數組平方 滑動窗口法

今日題目: 977. 有序數組的平方 | LeetCode209. 長度最小的子數組 | LeetCode76. 最小覆蓋子串 | LeetCode59. 螺旋矩陣 II | LeetCode 目錄 今日總結Problem 1:有序數組平方 ???Problem 2:滑動窗口法 【必會】LeetCode 209. 長度最小的子…