栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python--自己动手写一个selenium检测下载器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python--自己动手写一个selenium检测下载器

这是原来原始的下载方式

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService


# 用于install()获取管理器使用的位置并将其传递给服务类
service = ChromeService(executable_path=ChromeDriverManager().install())
# 初始化驱动时使用Service实例:
browser = webdriver.Chrome(service=service)

这种方式因为某些特殊情况时常会因为无法下载驱动包而卡死无法运行

该用了一下国内的下载源,并自己diy了一个下载器,初步完成如下

#!/usr/bin/env python
# coding=utf-8


'''
改良的selenium下载器
'''
import os
import re
import wget
import zipfile
import time
from selenium import webdriver
from selenium.webdriver.common.by import By

# chrome文件所在路径
path = r'C:UsersAdministratorAppDataLocalGoogleChromeApplication'


# 抽取软件版本号
def getVersion(path):
    file_list = os.listdir(path)  # 读取指定目录下的所有文件名称
    for num in file_list:
        x = re.findall(r'^d.*', num)  # 正则匹配出版本号
        if x is not None:  # 筛选版本号
            break
    return x[0]


# 拼接下载地址
url = 'https://cdn.npmmirror.com/binaries/chromedriver/' + getVersion(path) + '/chromedriver_win32.zip'

# 指定存放路径
p = r'D:chromedriver_win32.zip'

# 下载
wget.download(url, p)

#解压下载的文件
zFile = zipfile.ZipFile(p, "r")
for fileM in zFile.namelist():
    zFile.extract(fileM, "d:\")
    zFile.close()

# 测试部分
browser = webdriver.Chrome(executable_path=r'D:chromedriver.exe')

browser.get('https://www.baidu.com')

browser.find_element(By.ID, "kw").send_keys('123')
browser.find_element(By.ID, "su").click()

time.sleep(5)
browser.close()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/875714.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号