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

python--自己动手写一个selenium检测下载器,第1张

这是原来原始的下载方式

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:\Users\Administrator\AppData\Local\Google\Chrome\Application'


# 抽取软件版本号
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()

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/917761.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存