iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python基于selenium+cv2
  • 614
分享到

python基于selenium+cv2

pythonselenium 2023-01-30 23:01:59 614人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

首先贴上我的安装包 一、selenium安装  I.打开PyCharm,点击Settings,找到Project Interpreter,点击右边的下拉菜单下的show All...选项  II.点击show All...选项后,点击框

首先贴上我的安装包

一、selenium安装

 I.打开PyCharm,点击Settings,找到Project Interpreter,点击右边的下拉菜单下的show All...选项

 II.点击show All...选项后,点击框框中的+号

 III.在I步骤的project Interpeter那里选择你加入的python路径,如出现pip、selenium、setuptools模块则代表成功了,可以使用selenium了

    

 

 

二、cv2安装

这个步骤参考了这篇博文:https://blog.csdn.net/u010128736/article/details/52713204

  遵循上步:I. II.

   在I步骤的project Interpeter那里选择你加入的Python路径,如出现OpenCV-python 、cv2wrap模块则代表成功了,可以使用cv2了,这里的坑还是很多啊

三、numpy安装

  遵循上步:I. II.

   在I步骤的project Interpeter那里选择你加入的python路径,如出现numpy模块则代表成功了,可以使用numpy了

 

四:Python+selenium的WEBdriver打开浏览器进入登录页面

def login(username, passWord):
    driver.get("Https://passport.jd.com/new/login.aspx")
    time.sleep(3)
    driver.find_element_by_link_text("账户登录").click()
    driver.find_element_by_name("loginname").send_keys(username)
    driver.find_element_by_name("nloginpwd").send_keys(password)
    driver.find_element_by_id("loginsubmit").click()
    while True:
        time.sleep(3)
        a = get_image_position(True)
        if a:
           break
    time.sleep(3)
    driver.get("https://cart.jd.com/cart.action")
    time.sleep(3)
    driver.find_element_by_id("toggle-checkboxes_down").click()
    driver.find_element_by_link_text("去结算").click()
    time.sleep(2)
    driver.find_element_by_id("order-submit").click()
    now = datetime.datetime.now()
    #now_time = now.strftime('%Y-%m-%d %H:%M:%S')
    print(now.strftime('%Y-%m-%d %H:%M:%S'))
    print('login success, you can ou up!')

五:获取图形验证的图片,并滑动滑块实现滑块验证处理

# 获取图形验证的图片,并滑动滑块实现滑块验证处理
def get_image_position(flag):
    # 获取滑块图片的下载地址
    try:
        image1 = driver.find_element_by_class_name('JDJRV-smallimg').find_element_by_xpath('img').get_attribute('src')
    except BaseException:
        flag= True
        return flag
    # 获取背景大图图片的下载地址
    image2 = driver.find_element_by_class_name('JDJRV-bigimg').find_element_by_xpath('img').get_attribute('src')
    # print("image1:", image1)
    # print("image2:", image2)
    if image1 is None or image2 is None:
        return

    if driver.find_element_by_class_name('JDJRV-smallimg').is_displayed() is False:
        return

    image1_name = 'slide_block.png'  # 滑块图片名
    image2_name = 'slide_bkg.png'  # 背景大图名

    # 下载滑块图片并存储到本地
    request.urlretrieve(image1, image1_name)
    # 下载背景大图并存储到本地
    request.urlretrieve(image2, image2_name)

    # 获取图片,并灰化
    block = cv2.imread(image1_name, 0)
    template = cv2.imread(image2_name, 0)

    # 二值化之后的图片名称
    block_name = 'block.jpg'
    template_name = 'template.jpg'
    # 将二值化后的图片进行保存
    cv2.imwrite(template_name, template)
    cv2.imwrite(block_name, block)
    block = cv2.imread(block_name)
    block = cv2.cvtColor(block, cv2.COLOR_BGR2GRAY)
    block = abs(255 - block)
    cv2.imwrite(block_name, block)

    block = cv2.imread(block_name)
    template = cv2.imread(template_name)

    # 获取偏移量
    result = cv2.matchTemplate(block, template, cv2.TM_CCOEFF_NORMED)  # 查找block图片在template中的匹配位置,result是一个矩阵,返回每个点的匹配结果


    x, y = np.unravel_index(result.argmax(), result.shape)
   
    # 获取滑块
    element = driver.find_element_by_class_name('JDJRV-slide-inner.JDJRV-slide-btn')
    # 滑动滑块
    ActionChains(driver).click_and_hold(on_element=element).perform()
    # print("x方向的偏移", int(y * 0.4 + 18), 'x:', x, 'y:', y)
    ActionChains(driver).move_to_element_with_offset(to_element=element, xoffset=y, yoffset=0).perform()
    # sleep(1)
    ActionChains(driver).release(on_element=element).perform()
    time.sleep(3)

 源码 :GitHub

如果觉得有用请帮我点击star 防丢失哦

 

--结束END--

本文标题: python基于selenium+cv2

本文链接: https://www.lsjlt.com/news/180589.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python基于selenium+cv2
    首先贴上我的安装包 一、selenium安装  I.打开pycharm,点击Settings,找到Project Interpreter,点击右边的下拉菜单下的show All...选项  II.点击show All...选项后,点击框...
    99+
    2023-01-30
    python selenium
  • 基于Python的selenium
    一、安装 1.1安装Python,安装Python时需要勾选增加环境变量 如果之前已经安装过Python,需要将Python相关文件以及环境变量删除 1.2安装成功:在命令行界面下输入Python,最...
    99+
    2023-09-15
    python selenium pycharm
  • 基于python 3 的selenium
    本文主要是运用selenium模块模拟登陆新浪微博 python webdriver环境搭建教程:http://blog.csdn.net/nanjunxiao/article/details/7957326 # -*- c...
    99+
    2023-01-31
    python selenium
  • 基于Python的Selenium详细教程
    一、PyCharm安装配置Selenium 本文使用环境:windows11、Python 3.10.5、PyCharm 2022.1.3、Selenium 4.3.0 需要你懂的技术:Python、...
    99+
    2023-09-02
    python firefox 开发语言 html5 javascript
  • 基于Selenium+Python的web自动化测试框架
    一、什么是Selenium?Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Se...
    99+
    2023-06-04
  • Selenium自动化测试(基于Java)
    目录 一. 了解Selenium ✅1.1 概念 ✅1.2 作用 ✅1.3 特点 ✅1.4 工作原理  二. Selenium + Java 环境搭建 ✅2.1 下载 Chrome 浏览器 ✅2.2 查看浏览器的版本 ✅2.3 下载浏览器驱...
    99+
    2023-10-01
    selenium 测试工具
  • 【自动化测试】——Selenium (基于java)
    前言 小亭子正在努力的学习编程,接下来将开启软件测试的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ 目录 一、认识Selenium...
    99+
    2023-09-01
    selenium 测试工具
  • Python-selenium基础操作
    一. selinum优势页面级测试,模拟用户真实操作强大library,支持页面元素各类操作多浏览器支持(chrome,firefox,ie)多语言支持(python,java,C#,php,ruby)二. 需要安装软件firefox  f...
    99+
    2023-01-31
    操作 基础 Python
  • 基于Python和Selenium的大麦网自动抢票脚本
    自动化抢票的脚本,需通过Selenium库来实现自动化操作。(学习参考) # 导入必要的库from selenium import webdriverfrom selenium.webdriver.c...
    99+
    2023-08-31
    python selenium chrome
  • 基于Selenium+Python的web自动化测试框架详解
    目录 一、什么是Selenium? 二、自动化测试框架 三、自动化框架的设计和实现 四、需要改进的模块 五、总结 一、什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的we...
    99+
    2023-09-28
    python selenium 前端 pytest 职场和发展 自动化 运维
  • Python 基于Selenium实现动态网页信息的爬取
    目录一、Selenium介绍与配置1.Selenium简介2. Selenium+Python环境配置二、网页自动化测试1.启动浏览器并打开百度搜索2.定位元素三、爬取动态网页的名人...
    99+
    2024-04-02
  • Python selenium webdriver 基本使用
    系列文章目录 selenium webdriver 的常用示例 文章目录 系列文章目录selenium webdriver 的常用示例 前言一、Pip安装&创建Bowser对象1.Pip ...
    99+
    2023-09-03
    python selenium chrome 网络爬虫 https
  • python网络爬虫基于selenium爬取斗鱼直播信息
    目录一、本文使用的第三方包和工具二、selenium的介绍和浏览器驱动的安装1.selenium的介绍2.浏览器驱动的安装三、代码思路分析1.解析数据的函数2.保存数据的函数3.主函...
    99+
    2024-04-02
  • Python selenium基础用法详解
    ​  活动地址:CSDN21天学习挑战赛 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 学习日记 目录 学习日记 一、Selenium库介绍 1、Selenium简介 2、Selenium的安装 3...
    99+
    2023-09-08
    python selenium
  • Python中Selenium的基本使用
    目录 一、Selenium是什么? 二、使用步骤   1.引入库   2.下载浏览器驱动   3.配置浏览器驱动    4.创建WebDriver对象   4.1.options    4.2.service   4.3...
    99+
    2023-09-29
    selenium python
  • Python爬虫基础初探selenium
    目录Seleniumselenium的用途selenium是优缺点1. Selenium工作原理1.1 Selenium配置1.2 浏览器驱动1.3 使用Selenium2 快速入门...
    99+
    2024-04-02
  • Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()的区别
    目录为什么使用Python-OpenCV?基本操作1、图像读入2、显示图片3、保存图片变换操作1、翻转图片2、复制图片3、颜色空间转换4、裁剪图片综合示例参考链接:为什么使用...
    99+
    2024-04-02
  • Python基于Selenium怎么实现动态网页信息的爬取
    这篇文章主要介绍“Python基于Selenium怎么实现动态网页信息的爬取”,在日常操作中,相信很多人在Python基于Selenium怎么实现动态网页信息的爬取问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-22
  • 基于selenium爬取拉勾网职位信息
    1.selenium   Selenium 本是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。而这一特性为爬虫开发提供了一个选择及方向,由于其本身依赖于浏览器,所以使用Python的s...
    99+
    2023-01-31
    职位 信息 selenium
  • 如何使用python网络爬虫基于selenium爬取斗鱼直播信息
    这篇文章给大家分享的是有关如何使用python网络爬虫基于selenium爬取斗鱼直播信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、本文使用的第三方包和工具python 3.8  谷歌...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作