国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python爬蟲 ? selenium】selenium4新版本自動獲取驅動的常見問題

這篇具有很好參考價值的文章主要介紹了【Python爬蟲 ? selenium】selenium4新版本自動獲取驅動的常見問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

selenium4爬蟲,Python專精,python,爬蟲,selenium


前言

關于上次發(fā)布的文章《【Python爬蟲 ? selenium】selenium4新版本使用指南》很多人反饋說自動獲取的驅動會導致閃退,本次文章給出詳細配置。

首先說一下大家閃退的問題。我在低版本的python中,安裝selenium,發(fā)現(xiàn)安裝的是舊版本,并不是selenium4的版本,就導致用法還是selenium3,此時用我之前提供的selenium4的代碼必然會報錯,因此在本次文章中將會給出各種驅動的selenium3和selenium4版本的代碼,供大家直接cv。

其次,本次文章還要讓大家學會如何排錯。selenium閃退原因其實很好排查的,一般來說,運行報錯就會有提示,這些東西在正文中將會說明。


一、安裝驅動

當前環(huán)境配置,python=3.10,

注意,確保你的python版本是高版本,低版本會自動安裝selenium3,高版本會自動安裝selenium4,如果你不明白你安裝的selenium版本是多少,建議你使用pip list命令來查看一下
selenium4爬蟲,Python專精,python,爬蟲,selenium
我是用的python3.10安裝了默認是4.7版本的selenium。

pip install webdriver-manager

然后安裝selenium

pip install selenium

二、使用步驟

本次以Edge為例,因為我目前只有Edge是空閑的。

1.導入包

代碼如下:

from selenium import webdriver
from selenium.webdriver.edge.service import Service as EdgeService
from webdriver_manager.microsoft import EdgeChromiumDriverManager

2.生成驅動

代碼如下:

driver = webdriver.Edge(service=EdgeService(EdgeChromiumDriverManager().install()))

3.打開網(wǎng)站

我這里以打開我的博客為例,注意這里要做延時,否則閃退。

driver.get('https://blog.csdn.net/weixin_47754149?spm=1010.2135.3001.5343')
sleep(10000)

運行效果圖如下

selenium4爬蟲,Python專精,python,爬蟲,selenium運行10秒后會自動關閉,說明確實是沒有問題的。

二、selenium閃退問題處理

selenium閃退正常情況下是有兩種問題導致的,一是selenium和你的代碼版本不兼容,或者說你代碼寫錯了,二是瀏覽器閃了一下就沒了,這種情況不是你代碼寫錯了,而是瀏覽器打開的時候代碼執(zhí)行完了。你只需要做一點適當?shù)难舆t即可。因此這里展開對第一種情況進行處理。

1. selenium版本與代碼不匹配

這部分是最有可能遇到的錯誤。通常來說,你安裝selenium的時候會自動識別你的python版本進行安裝對應的版本,比如你用的python3.6,就會默認安裝selenium3,如果你用的python3.10就會自動安裝selenium4,因此確定你安裝的selenium是哪個版本是非常重要的。

首先要確認你的selenium版本,使用以下命令

pip list

然后就會輸出你當前環(huán)境中的包和版本號
selenium4爬蟲,Python專精,python,爬蟲,selenium其中需要找你的selenium,查看是哪個版本的
selenium4爬蟲,Python專精,python,爬蟲,selenium
然后根據(jù)你對應版本號來看你應該寫selenium3還是selenium4的代碼,這樣就不閃退了。

2. selenium代碼異常

這部分閃退問題基本上就說明了你代碼功底不夠扎實,這種問題屬于語法錯誤,因為python是邊解釋邊執(zhí)行的,代碼正確的會執(zhí)行,錯誤代碼及以后就不執(zhí)行了,而且一些沒有的字段和屬性在開發(fā)中不會標注出來,所以新手是不好看出來的。

這種問題我的建議是使用IDE來進行開發(fā),我推薦使用visual studio code,然后安裝python插件,在狀態(tài)欄那里選擇你的python版本

selenium4爬蟲,Python專精,python,爬蟲,selenium
此時代碼就會有提示了,如果你寫的代碼有問題就會在這里顯示出來

selenium4爬蟲,Python專精,python,爬蟲,selenium有點開發(fā)經驗的就直接加個異常處理就好了,就不細說了。

三、代碼示例

此處代碼專供cv使用,讓你在cv的時候更爽,更直接。

1.selenium4代碼示例

1. Chrome

# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

2. Chromium

# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromiumService
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

driver = webdriver.Chrome(service=ChromiumService(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install()))

3. Brave

# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as BraveService
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

driver = webdriver.Chrome(service=BraveService(ChromeDriverManager(chrome_type=ChromeType.BRAVE).install()))

4. Firefox

# selenium 4
from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))

5. IE

# selenium 4
from selenium import webdriver
from selenium.webdriver.ie.service import Service as IEService
from webdriver_manager.microsoft import IEDriverManager

driver = webdriver.Ie(service=IEService(IEDriverManager().install()))

6. Edge

# selenium 4
from selenium import webdriver
from selenium.webdriver.edge.service import Service as EdgeService
from webdriver_manager.microsoft import EdgeChromiumDriverManager

driver = webdriver.Edge(service=EdgeService(EdgeChromiumDriverManager().install()))

7. Opera

# selenium 3 & 4
from selenium import webdriver
from webdriver_manager.opera import OperaDriverManager

driver = webdriver.Opera(executable_path=OperaDriverManager().install())

2.selenium3代碼示例

1. Chrome

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

2. Chromium

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

driver = webdriver.Chrome(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install())

3. Brave

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

driver = webdriver.Chrome(ChromeDriverManager(chrome_type=ChromeType.BRAVE).install())

4. Firefox

# selenium 3
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())

5. IE

# selenium 3
from selenium import webdriver
from webdriver_manager.microsoft import IEDriverManager

driver = webdriver.Ie(IEDriverManager().install())

6. Edge

# selenium 3
from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager

driver = webdriver.Edge(EdgeChromiumDriverManager().install())

7. Opera

# selenium 3 & 4
from selenium import webdriver
from webdriver_manager.opera import OperaDriverManager

driver = webdriver.Opera(executable_path=OperaDriverManager().install())

3. 提供的操作框架

import os

import requests
from requests import Response

from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.download_manager import WDMDownloadManager
from webdriver_manager.core.http import HttpClient
from webdriver_manager.core.logger import log

class CustomHttpClient(HttpClient):

    def get(self, url, params=None, **kwargs) -> Response:
        """
        在這里添加你的操作,session,代理等
        """
        log("這些將會被自定義的http客戶端調用")
        return requests.get(url, params, **kwargs)


def test_can_get_chrome_driver_with_custom_http_client():
    http_client = CustomHttpClient()
    download_manager = WDMDownloadManager(http_client)
    path = ChromeDriverManager(download_manager=download_manager).install()
    assert os.path.exists(path)

總結

以上就是本期文章的所有內容了,主要是處理大家在使用自動獲取驅動的時候遇到的問題,盡管問題總結不是很全面,但是已經觸及到根本的方面了,那就是selenium和python版本一定要匹配才能安裝selenium4。其次就是將一些selenium的代碼貼出來便于大家直接cv,我相信這是很有用的,當你看到這篇文章發(fā)現(xiàn)可以直接cv那必然是很舒服的,我也是這么想的。

如果說你遇到了問題,并且不是以上這種的問題,那么請直接私信我。文章來源地址http://www.zghlxwxcb.cn/news/detail-798974.html

到了這里,關于【Python爬蟲 ? selenium】selenium4新版本自動獲取驅動的常見問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 爬蟲實戰(zhàn)(一)Python+selenium自動化獲取數(shù)據(jù)存儲到Mysql中

    爬蟲實戰(zhàn)(一)Python+selenium自動化獲取數(shù)據(jù)存儲到Mysql中

    ??行話說得好,“爬蟲學得好,牢飯吃到飽!”哈哈博主是因這句話入的坑,不為別的就為邀大家一起鐵窗淚(bushi),本人雖小牛一只,但是喜愛搗鼓技術,有興趣的小伙伴們可以共同探討,也歡迎各位大佬們的指點,愿共同進步! ??這次計劃是翻墻爬取外網(wǎng)某網(wǎng)站

    2024年01月17日
    瀏覽(34)
  • Python+Selenium4三大等待&預期條件_web自動化(4)

    Python+Selenium4三大等待&預期條件_web自動化(4)

    目錄 0. 上節(jié)回顧 1. 定位失敗的原因 2. 強制等待 3. 隱式等待 4. 顯式等待 【重點難點】 4.1. 實例化 WebDriverWait 對象 4.2. 指定等待條件 4.3. 等待條件的具體要求 4.3. 1. 等待條件是一個函數(shù) 4.3. 2. 返回值是布爾值 4.3. 3. 只有一個參數(shù),參數(shù)值是driver 4.3. 4. 出現(xiàn)異常 5. 流暢等待 (

    2024年02月11日
    瀏覽(23)
  • Python+Selenium4瀏覽器交互_web自動化(2)

    Python+Selenium4瀏覽器交互_web自動化(2)

    目錄 0. 上節(jié)內容回顧 1 . 瀏覽器基本操作 1.1 啟動 退出 1. 手動安裝driver ,啟動瀏覽器時,需要傳遞2個參數(shù): 1.2 窗口設置 1.3 頁面導航 1.4 獲取頁面信息 1.5 頁面截圖 2. 瀏覽器的高級操作 2.1 窗口切換 2.2 操作Cookies 2.3 執(zhí)行JavaScript 今日內容:瀏覽器交互(調整窗口大小、導航

    2023年04月08日
    瀏覽(94)
  • Python+Selenium4環(huán)境搭建與原理講解_web自動化(1)

    Python+Selenium4環(huán)境搭建與原理講解_web自動化(1)

    1. 認識Selenium 2. Selenium 三大組件 3. Selenium自動化測試環(huán)境搭建 3.1 安裝selenium 庫 3.2 安裝瀏覽器驅動 1. 查看瀏覽器版本號 2. 下載瀏覽器驅動 3. 把driver移動到Path目錄 4. 驗證driver就緒 ? 3.3 啟動瀏覽器 4. Selenium自動化測試環(huán)境的自動化配置 1. 安裝依賴 2. 啟動瀏覽器 5. Selenium工作

    2024年02月06日
    瀏覽(169)
  • Python Selenium4.3.0(新語法) web自動化測試工具

    1 介紹 Selenium是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。 支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等 這個工具的主要功能包括:測試與瀏覽器的兼容性——測試應用程序看是否能夠

    2024年01月24日
    瀏覽(34)
  • 自動化測試之八大元素定位方式(python3.10+selenium4)

    自動化測試之八大元素定位方式(python3.10+selenium4)

    元素的定位是自動化測試核心。要操作一個對象,首先要識別定位或找到這個對象。為了實現(xiàn)網(wǎng)頁整體布局,我們先要知道,一個元素,是如何定位到頁面上的某個位置的,這就是元素定位。 系統(tǒng)環(huán)境 Windows 11 ?? python3.10.5 ?? selenium 4.8.0 ?? 注意:以下每種定位方式均有一

    2024年02月03日
    瀏覽(87)
  • Selenium4.0 + Python手擼自動化框架系列之 Web截圖 與 封裝

    Selenium4.0 + Python手擼自動化框架系列之 Web截圖 與 封裝

    在做Web自動化時,網(wǎng)頁截圖是常用的操作。像一般的自動化框架與工具都會有截圖機制,比如: 1、元素等待失敗觸發(fā)截圖 2、元素操作失敗觸發(fā)截圖 3、檢查點失敗觸發(fā)截圖 4、主動要求的觸發(fā)截圖 四種場景,均可觸發(fā)網(wǎng)頁截圖操作,將截圖保存到對應某個路徑下面。 那么

    2024年02月08日
    瀏覽(23)
  • 瀏覽器常用基本操作之python3+selenium4自動化測試(基礎篇)

    瀏覽器常用基本操作之python3+selenium4自動化測試(基礎篇)

    1、打開指定的網(wǎng)頁地址 我們使用selenium進行自動化測試時,打開瀏覽器之后,第一步就是讓瀏覽器訪問我們指定的地址,可使用get方法實現(xiàn) 1 2 3 from selenium import webdriver driver = webdriver.Edge() driver.get( \\\'https://www.baidu.com/\\\' )?? # 本行用于訪問指定的地址 2、獲取當前頁面url 我們在

    2024年02月01日
    瀏覽(94)
  • selenium自動獲取cookies用于requests做接口請求爬蟲

    目錄 一、思想 二、代碼 ?????????有關爬蟲一些報錯解決,或是爬蟲工具的使用及其他問題的,可以看看我的爬蟲專欄:博主_zkkkkkkkkkkkkk的爬蟲專欄 一、思想 ? ? ? ? selenium可以用來模擬用戶操作的python第三方包,而requests則是用來做接口請求。兩者一結合,可能在某些

    2024年02月16日
    瀏覽(31)
  • Selenium4自動化測試框架

    Selenium 介紹 Selenium 是目前用的最廣泛的 Web UI 自動化測試框架,核心功能就是可以在多個瀏覽器上進行自動化測試,支持多種編程語言,目前已經被 google,百度,騰訊等公司廣泛使用。 1、配置 google 驅動的環(huán)境變量,如果不配置需要在代碼中指定驅動位置。 2、eclipse 中導入

    2024年02月03日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包