学习selenium能做什么? 很多书籍.文章中是这么定义selenium的: Selenium 是开源的自动化测试工具,它主要是用于Web 应用程序的自动化测试,不只局限于此,同时支持所有基于web 的管理任务自动化. 可如果要是这么介绍selenium,估计明天关注我的人80%都要弃坑了,我又不是测试.我学什么selenium.wait a moment!先别取关- 请仔细读读后半句,支持所有基于web的管理任务和自动化! 什么算基于web的任务,就只是自动化测试?非也非也,只要是通过浏览器…
今天讲什么 讲什么标题说了,讲selenium的单选.多选.下拉框选项定位.但其实这东西,没什么太多说的,又比较枯燥,那该怎么让这一集selenium的课程变得有趣呢?有请老中医,哈哈- 怎么样,这个野广告做的还不错吧,你们给多少分?至于为什么要自己写一个html的页面,一是懒得找什么网页又有下来框体,又有单/多选.二是最近更多的想练习写一些web界面,最重要的是怕大家觉得selenium系列的文章没意思,所以搞点噱头呗.哈哈- 页面实现起来比较简单,样式用Bootstrap即可,至于这个城中村…
上集回顾 昨天说简单介绍了什么是selenium,它能干what,和发展史与梗概.当的是python如何通过pip安装selenium,并下载对应浏览器的webdriver. 最后简单通过一个Demo描述了下如何导入selenium模块,并通过webdriver打开浏览器(我用的chrome),访问我的简书- 今日内容 按照大纲来说,今天该讲selenium的几种对象定位方法了.但我按照套路来吧,你们说无趣,不按照套路来,又怕翻车丢粉. 可就这么就这么几个人关注,我按照套路那么写,怎么突出我的独…
关于昨天的文章 今天有朋友反馈,代码运行的时候,selenium提示警告 DeprecationWarning: use options instead of chrome_options driver = webdriver.Chrome(chrome_options=options) 本来以为是我的selenium版本太低了,可以上官网看到3.141.0是最新版本啊,最后把python从3.6.8升级到3.7.3才复现了此问题.虽然这个告警不影响使用,但既然官方提示了修改就看看呗,其实很简单…
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华为云最新特惠促销.华为云诸多技术大咖.特惠活动等你来撩! 网站登录 现在各大平台在反爬虫功能上,可谓花样繁多.总结下来按照破解成功率排名,最高的是滑动解锁.其次是验证码数字.之后是一次点击对应的汉字,最后是想12306之前那种反人类的让你说那些是奶糖吧,哈哈- 为什么我这么排序?很多人可能不赞同,认为验证码数…
python模块学习建议 学习python模块,给大家个我自己不专业的建议: 养成习惯,遇到一个模块,先去github上看看开发者们关于它的说明,而不是直接百度看别人写了什么东西.也许后者可以让你很快入门,可那样你更多的是在吃别人剩下的.而访问Github,你可以在里面获取到更多作者想告诉你的内容和相关的链接地址.怎么评估一个模块好不好,最简单的办法就是看star,requests_html的star:9794,已经算很高的了.requests_html的Git地址:https://github…
1. 背景 if/else是高级编程语言中最基础的功能,虽然 if/else 是必须的,但滥用 if/else,特别是各种大量的if/else嵌套,会对代码的可读性.可维护性造成很大伤害,对于阅读代码的人来说就是一场灾难. 本系列博客的目的不是消除if/else,而是如何"写好"if/else 2. 方法 根据if/else的使用方式和场景,大概有如下解决方法 多态 表驱动 职责链模式 卫语句 Optional 调整判断逻辑,抽取方法,逻辑优化 本篇博客我介绍的是表驱动,后续博客会介绍…
在Java 的世界里,配置的事情都交给了 Properties,要追溯起来这个模块还是从古老的JDK1.0 就开始了的. "天哪,这可是20年前的东西了,我居然还在用 Properties.." 然而,本文的主角并不是Properties,而是Yaml.这是新时代里微服务架构上的宠儿,和 Properties 相比起来,Yaml 显得有些弄潮儿. 以往的大多数项目里,我们都可以发现 Properties配置文件的踪迹,这包括用于业务属性配置的.机机接口的.国际化的等等用途. 而少量的一…
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华为云最新特惠促销.华为云诸多技术大咖.特惠活动等你来撩! 文本分析 很多时候,我们会去统计一片文章中的高频词汇,以此来作为文章的关键词条,那么词频分析在python中,该用什么模块做?jieba! 第一次听到这个词就乐了,一个**"结巴",帮助我们统计词频-但仔细了解这个模块后,你会发现它…
万法同源 一直觉得可能自己不太适合搞技术,更适合在天桥底下支个摊子说书.技术的东西从来没人关注,扯东扯西的文章莫名的火.之前的一篇文章MarkDown添加图片的三种方式不管是在技术为主的CSDN还是娱乐为主的简书,都莫名的火爆,看图: 其实文章没什么含量,就是介绍了下markdown添加图片的方式,唯一新奇的可能就是使用了base64的图片二进制转化. ![avatar]\(data:image/png;base64,iVBORw0......) 1.使用python将图片转化为base64字符…
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华为云最新特惠促销.华为云诸多技术大咖.特惠活动等你来撩! 电脑硬盘里的图片 收藏夹的照片(硬盘里的女神)看了又删,去年夏天后就没聊过天-很久前有这么一首歌很火,不知道大家听过没,只是括号里的歌词被改成了现在的样子.那么,你们以为我今晚要开车?NONONO- 每天做公众号,最愁的两件事,一是选题,二是公众号配图…
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华为云最新特惠促销.华为云诸多技术大咖.特惠活动等你来撩! Python HttpServer python2与python3都可以基于SimpleHTTPServer,快速创建一个http服务器,但方法略有不同. 首先进入你需要设置的http服务器目录 (我以自己电脑路径:F:/Working~Study)…
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华为云最新特惠促销.华为云诸多技术大咖.特惠活动等你来撩! 超神利器- 这款工具在上篇文章当Python遇到Andriod手机,那么,万物皆可盘后,就开始准备了.为什么? 首先,Qpython不支持lxml这个模块,而了解python爬虫的都知道很多爬虫的html解析都是依赖该模块的,即便Qpython的文章中…
在Python的世界里,将一个对象以json格式进行序列化或反序列化一直是一个问题.Python标准库里面提供了json序列化的工具,我们可以简单的用json.dumps来将一个对象序列化.但是这种序列化仅支持python内置的基本类型,对于自定义的类,我们将得到Object of type A is not JSON serializable的错误. 有很多种方法可以用来支持这种序列化,这里有一个很长的关于这个问题的讨论.总结起来,基本上有两种还不错的思路: 利用标准库的接口:从python标…
需求分析 免费的小说网比较多,我看的比较多的是笔趣阁.这个网站基本收费的章节刚更新,它就能同步更新,简直不要太叼.既然要批量下载小说,肯定要分析这个网站了- 在搜索栏输入地址后,发送post请求获取数据,然后根据url解析,模拟操作即可.打开Fiddler,chrome搜索一下伏天氏,然后看看抓取到的日志流: 代码实现 在我们开始编码前,先得看下parameters中的这几个参数. searchkey是什么鬼? 这是因为在因特网上传送URL,只能采用ASCII字符集.所以当传输中文时,有些网站会…
1.问题 在浏览项目时,发现一段使用正则表达式的代码 这段代码,在循环里执行了Pattern.matches()方法进行正则匹配判断. 查看matches方法的源码,可以看到 每调用一次matches方法,都会创建一个Pattern对象,而且这段代码还是在for循环里,如果外层函数又被频繁调用,就会出现很明显的性能问题. 创建Pattern实例的成本很高,因为需要将正则表达式编译成一个有限状态机(final state machine). 2.解决 使用正则表达式的预编译功能,可以有效加快正则匹…
2019年07月,北京,三伏天,好热啊.越热自己还越懒得动换(肉身给的信号),但是做为产品经理/交互设计师的,总想着思考些什么(灵魂上给的信号),或者是学习些什么,更有利于将来的职业发展吧,哈哈哈.工作中开发做为交互的下游,也是好奇大侠们是如何开发的?于是,小试一把.在座的朋友有钱的捧个钱场,没钱的捧个人场. 开发环境 开发环境建议大家到,安卓官网下面andriod studio.安装过程中,存在代码的文件夹,不要放在C盘.除此启动时建议等久些,最后软件没有出现红色Ⅹ.就可以开始了.安装过程中,…
2019年07月,北京,三伏天,好热啊.越热自己还越懒得动换(肉身给的信号),但是做为产品经理/交互设计师的,总想着思考些什么(灵魂上给的信号),或者是学习些什么,更有利于将来的职业发展吧,哈哈哈.工作中开发做为交互的下游,也是好奇大侠们是如何开发的?于是,小试一把.在座的朋友有钱的捧个钱场,没钱的捧个人场. 开发环境 开发环境建议大家到,安卓官网下面andriod studio.安装过程中,存在代码的文件夹,不要放在C盘.除此启动时建议等久些,最后软件没有出现红色Ⅹ.就可以开始了.安装过程中,…
python操作excel 最原始的莫过于两位老牌黄金搭档xlrd xlwt了,针对二者的封装有如下模块: xlutils & xlrd & xlwt 为什么把这三个一起说? 首先,xlutils封装了xlrd xlwt,所以在使用前,会先下载这两个依赖的模块. 其次,这两个模块主要用于处理xls文件,而对xlsx的文件处理很挫,甚至xlwt不支持- 但为何到现在依然在使用这些模块,因为他对xls文档处理的优势- win32com & DataNitro 这两个模块又是怎么一回事儿…
又见 Kenneth Reitz 之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块**requests_html,这个模块的作者还开发了requests模块,相当的犀利.没错,他就是Kenneth Reitz,一个被编程耽误的摄影师,哈哈,网上还有他的一些励志故事,喜欢的朋友可以去搜搜,个人比较崇拜他.那么,今天又要介绍他的另外一个牛13之作,pipenv** pipenv 介绍 过去大家经常使用virtualenv来创建虚拟环境,通过p…
网站登录 现在各大平台在反爬虫功能上,可谓花样繁多.总结下来按照破解成功率排名,最高的是滑动解锁.其次是验证码数字.之后是一次点击对应的汉字,最后是想12306之前那种反人类的让你说那些是奶糖吧,哈哈… 为什么我这么排序?很多人可能不赞同,认为验证码数字是最简单的…其实不然,因为验证码数字现在不仅是背景的色块,还穿插这很多混乱的线条,别说是系统识别,就是人仔细看都还会经常出错,所以成功率实在不高.至于滑动解锁,网上教程很多…剩下的两种就难度更高了… 那么如何能跳过这些步骤?在访问前添加cooki…
有时候,有时候,你会相信一切有尽头-当你的代码走到了尽头,那么保留最后一刻的状态尤为重要,此时你该如何操作?记录日志-没有将浏览器当前的状态进行截图来的直观! 那么,selenium截取截屏,有哪些方法呢?有四个. 说到讲方法,什么都没有直接看源码来的直观,我带大家走一波,跟进别迷路! 1. 先来看看 save_screenshot(filename) """ def save_screenshot(self, filename): Saves a screenshot of…
网页截图 上次提到了selenium的四种截图方法,最终截图了整张网页.但很多时候,我们仅仅需要截图部分的内容.比如截取某个关键信息,或者现在已经不常见的截图验证码(现在都是各种按规则点击-).那么我们该如何进行部分元素的截图呢?今天我们就来举个例子- 昨天51test的小编联系,说希望我能给网站投稿关于测试的帖子,要求与测试相关且文章篇幅在1000字以上. 我立马翻了下简书首页,54篇文章5.23万字.除去之前写的几篇灌水帖,字数上貌似达标了.但在学习之外,总结文章至公众号已经很累了,再投稿精…
网站登录 现在各大平台在反爬虫功能上,可谓花样繁多.总结下来按照破解成功率排名,最高的是滑动解锁.其次是验证码数字.之后是一次点击对应的汉字,最后是想12306之前那种反人类的让你说那些是奶糖吧,哈哈- 为什么我这么排序?很多人可能不赞同,认为验证码数字是最简单的-其实不然,因为验证码数字现在不仅是背景的色块,还穿插这很多混乱的线条,别说是系统识别,就是人仔细看都还会经常出错,所以成功率实在不高.至于滑动解锁,网上教程很多-剩下的两种就难度更高了- 那么如何能跳过这些步骤?在访问前添加cooki…
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/details/95594829 [摘要] #华为云.寻找黑马程序员# 不管是最早的Phonegap,还是后来的React Native.Weex,Flutter,或者是各个公司自创开发语言,都是在不断寻求开发语言统一,从而解决ios.android乃至H5.小程序多端代码复用的问题,从而提高开发效率,降低人…
华为云社区·CSDN[寻找黑马程序员]第一期有奖征文活动在大家的鼎力支持下顺利落幕啦,非常感谢大家一直以来的支持~现在小宅就要隆重公布本次活动的奖项了!! 请各位获奖的伙伴在8月18日前私信联系提供联系姓名.电话及收货地址,以便小宅寄送奖品哦,逾期未联系小宅将视为自动放弃获奖资格,请知悉. 同时,请实时关注小宅动态哦,下次活动精彩继续~…
1. 背景 if/else是高级编程语言中最基础的功能,虽然 if/else 是必须的,但滥用 if/else,特别是各种大量的if/else嵌套,会对代码的可读性.可维护性造成很大伤害,对于阅读代码的人来说就是一场灾难. 本系列博客的目的不是消除if/else,而是如何“写好”if/else 2. 方法 根据if/else的使用方式和场景,大概有如下解决方法 多态 表驱动 职责链模式 卫语句 Optional 调整判断逻辑,抽取方法,逻辑优化 本篇博客我介绍的是表驱动,后续博客会介绍其他案例…
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/details/96869376 欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),验证通过后,输入关键字“加群”,加入华为云线上技术讨论群:输入关键字“最新活动”,获取华为云最新特惠促销.华为云诸多技术大咖.特惠活动等你来撩! 一.背景 分页应该是极为常见的数据展现方式了,…
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/details/96287735 欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群:输入关键字“最新活动”,获取华为云最新特惠促销.华为云诸多技术大咖.特惠活动等你来撩! 正则表达式简介 正则表达式,是一个特殊的字符序列,又称规则…
3.面向对象_封装 3.1面向对象概念 3.1.1理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程:强调的是功能行为(执行者) 面向对象:将功能封装进对象,强调具备了功能的对象(指挥者) 面向对象是基于面向过程的 3.1.2面向对象的特点 面向对象三个特征:封装,继承,多态. 以后开发:其实就是找对象使用,没有对象就创建一个对象. 找对象,建立对象,使用对象,维护对象的关系. 3.2类与对象的关系 3.2.1 类与对象 类和对象的关系:类就是对现实生活中事物的描…