精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python中使用selenium的準備工作

麥辣雞腿堡 ? 來源:Python都知道 ? 作者:了不起 ? 2023-11-15 11:12 ? 次閱讀

定義

Selenium是一個用于Web應用程序測試的自動化測試工具。使用Selenium可以驅動瀏覽器執行特定的動作,如點擊、下拉等操作,還可以獲取頁面信息,斷言頁面是否如預期。在工作中我們可以用它來做基于web瀏覽器的UI自動化測試,也可以用它來做一些固定的頁面操作,減少我們重復的手動操作。

準備工作

在使用selenium庫時先使用pip命令下載

pip install selenium

selenium庫安裝完后還需要安裝對應得了瀏覽器驅動,Selenium支持多種瀏覽器,如Chrome、Firefox等。本篇文章中就以Chrome舉例說明。

python使用selenium自動化操作瀏覽器需要chromedriver驅動,但是瀏覽器每隔一段時間就自動更新版本,或者換一臺電腦運行是就會報錯。出現驅動版本和瀏覽器版本不對應的錯誤信息,所以這里我們直接在代碼中自動下載與當前瀏覽器版本匹配的驅動。代碼如下:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import chromedriver_autoinstaller
import os

def func():
    # 獲取當前文件所在目錄的絕對路徑
    current_dir = os.path.dirname(os.path.abspath(__file__))

    # 設置存放chromedtriver驅動的目錄
    driver_path = os.path.join(current_dir, "driver")
    os.makedirs(driver_path, exist_ok=True)
    
    # 自動安裝符合當前瀏覽器的驅動目錄
    chromedriver_autoinstaller.install(path=driver_path)
    chromedriver_path = os.path.join(driver_path, chromedriver_autoinstaller.get_chrome_version())

    # 創建一個對象傳入chromedriver路徑
    service = Service(chromedriver_path)

    # 啟動瀏覽器時使用傳入的驅動路徑
    driver = webdriver.Chrome(service=service)


func()

再上面的代碼中我們直接使用腳本程序去下載我們瀏覽器對應匹配的chromedriver版本,就直接避免了瀏覽器升級后導致之前下載的驅動版本不對應的問題,避免重復下載這一步驟。

圖片

不過上面的代碼可以優化,在下載前去做一個判斷,因為每次運行前都會去重復下載一次,所以需要再運行前去找driver_path下面有沒有文件,如果有的話就不用下載,直接使用已有的路徑,如果沒有再去下載就行了,這個就自行優化哈~~~

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 自動化測試
    +關注

    關注

    0

    文章

    204

    瀏覽量

    26892
  • 代碼
    +關注

    關注

    30

    文章

    4747

    瀏覽量

    68349
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84453
收藏 人收藏

    評論

    相關推薦

    高速PCB設計前期的準備工作

    `請問高速PCB設計前期的準備工作有哪些?`
    發表于 04-08 16:32

    Python常用Selenium方法封裝是什么

    Python中,常用Selenium方法封裝(4)
    發表于 05-18 12:03

    如何在Python中使Selenium

    :Elem.send_keys用于在插入值后按Enter  · 代碼行13:關閉  輸出值  用戶名“ guru99”的值和密碼輸入?! ∩鲜鼍褪顷P于如何在Python中使Selenium的全部內容介紹,想了解更多關于
    發表于 09-08 18:17

    STM32F407的準備工作

    第1章 初學STM32F407的準備工作俗話說萬事開頭難,學習一門新的知識,難的往往不是知識本身,而是如何快速上手,需要什么資料和開發環境。一旦上手后,深入的學習就相對容易些了。目錄第1章 初學
    發表于 08-10 07:10

    移植前的準備工作以及移植emWin的流程是怎樣的?

    移植前的準備工作以及移植emWin的流程是怎樣的?
    發表于 11-08 08:27

    ARM準備工作及熟悉開發板

    01、ARM準備工作及熟悉開發板102、ARM準備工作及熟悉開發板203、ARM準備工作及熟悉開發板304、ARM準備工作及熟悉開發板405、原理圖及電路圖106、原理圖及電路圖208
    發表于 12-14 08:08

    SPC58NE芯片的開發準備工作

    SPC58系列芯片的開發準備工作因為工作的需要,重新撿起硬件和嵌入式開發的工作。面對的是ST的SPC58NE芯片。準備工作如下:
    發表于 12-23 07:33

    GPIO前的準備工作是什么?

    GPIO前的準備工作是什么?
    發表于 02-10 07:11

    RK3399開發需要做哪些準備工作

    RK3399開發需要做哪些準備工作?
    發表于 03-08 06:35

    數控設備安裝的準備工作

    數控設備安裝的準備工作    一、數控設備對于地基的要求     在實際的數控設備使用廠商中,很多設備使用方忽略了設備安裝環境
    發表于 02-25 08:36 ?1917次閱讀

    模擬電路板調試前的準備工作

    模擬電子的相關知識學習教材資料——模擬電路板調試前的準備工作
    發表于 09-27 15:19 ?0次下載

    FreeRTOS_001_ 準備工作

    FreeRTOS_001_準備工作
    的頭像 發表于 03-14 11:21 ?3118次閱讀
    FreeRTOS_001_ <b class='flag-5'>準備工作</b>

    RK3568 SDK 安裝準備工作

    RK3568 SDK 安裝準備工作
    的頭像 發表于 12-13 11:44 ?939次閱讀
    RK3568 SDK 安裝<b class='flag-5'>準備工作</b>

    怎樣做好電動機起動前的準備工作?

    為了防止電動機起動時發生故障,在起動前應繳好以下準備工作。
    的頭像 發表于 11-08 10:34 ?769次閱讀

    smt加工前的準備工作有哪些?

    一站式PCBA智造廠家今天為大家講講smt加工前的準備工作有哪些?SMT貼片加工制程前有哪些準備工作。在工業制造領域,SMT貼片加工是一項非常常見的技術。這種工藝可以提高電路板制造的效率,并保證電路
    的頭像 發表于 01-26 09:18 ?580次閱讀