switch_to_frame() 画横线原因是 switch_to_frame() 和switch_to.frame()switch_to_frame(),很多人在这样写的时候会发现,这句话被划上了删除线,原因是这个方法已经out了,之后很有可能会不支持,建议的写法是switch_to.frame()
selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executable needs to be in P selenium在liunx下配置报错解决方式1、首先 打开浏览器 输入 chrome://version/可以看到版本号2,打开这个链接http://chromedriver.storage.googleapis.com/index.html找到和自己浏览器相似的 下载对应的文件3、 下载之后放在哪里呢我放在桌面上4、其次解压文件使用命令将解压后的文件复制到 /usr/local/bin/chromedriversudo mv chromedriver /
Python3+unitest自动化测试 1、概念介绍unit test:单元测试,可以简单粗暴地理解成用一段代码去测试另外一段代码。unittest作为Python单元测试框架之一,除了用来做单元测试之外,还可以用来完成接口自动化,UI自动化(配合Selenium使用),自动化框架开发等。test fixture:测试用例执行前的准备工作以及测试用例执行完成后的清理工作。比如数据库测试前要建立连接,测试后要关闭连接。test case:单元测试中最小的单元。test suite:测试套件是测试用例,测试套件或者两者的
登陆接口 暴力破解!只要网站是暴露在公网的,那么很大概率上会被人盯上,尝试爆破这种简单且有效的方式:通过各种方式获得了网站的用户名之后,通过编写程序来遍历所有可能的密码,直至找到正确的密码为止伪代码如下:#密码字典password_dict=[]#登录接口login_url=''defattack(username):forpasswordinpassword_dict:data={'username':username,'password':pas...
有 Bug 不会调试 ? 这篇文章很详细 Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码,历史发布的IDEA调试文章还有:Intellij IDEA调试功能使用总结在Intellij IDEA中使用好Debug,主要包括如下内容: Debug开篇 基本用法&...
绝无仅有,史上最全的python爬虫教程! import urllibimport urllib.requesturllib.request.urlopen("http://www.baidu.com")2.re3.requests4.selenimu这个库是配合一些驱动去爬取动态渲染网页的库(1)chromedriver我们使用的时候需要先下载一个chromedriver.exe,下载好了以后放在 chr...
MySQL、SqlServer、Oracle三种数据库的特点和区别 一、MySQL优点:1、体积小、速度快、总体拥有成本低,开源;2、支持多种操作系统;3、是开源数据库,提供的接口支持多种语言连接操作;4、MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的mysql能很容易充分利用CPU;5、MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql...
教你如何将自己的脚本代码放到服务器上运行 1. 购买服务器如果你是学生的话,想折腾的可以去阿里云那里购买,因为有学生机优惠,只需要9.9一个月,但是只能购买一次,在下一次购买需要做任务才可以继续享用学生机优惠。如果你是土豪的话,可以直接忽略这个。因为这次我只需要把机器人脚本运行就可以了,所以直接选择学生机的配置就够用了。阿里云的学生机购买链接:https://promotion.aliyun.com/ntms/act/c...
1000 行 MySQL 学习笔记 Windows服务-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)连接与断开服务器mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VAR...
项目爬虫架构 1、基础爬虫的架构以及运行流程首先,给大家来讲讲基础爬虫的架构到底是啥样子的?从图上可以看到,整个基础爬虫架构分为5大类:爬虫调度器、URL管理器、HTML下载器、HTML解析器、数据存储器。下面给大家依次来介绍一下这5个大类的功能: 爬虫调度器,主要是配合调用其他四个模块,所谓调度就是取调用其他的模板 URL管理器,就是负责管理URL链接的,URL链接分为已经爬...
分布式爬虫 分布式进程就是将进程分布到多台机器上去,充分利用每一台机器来完成我们的爬虫任务。分布式进程需要用到multiprocessing模板,multiprocessing模板不但支持多进程,它的managers子模块还支持把多进程分布到多台机器上。 我们可以写一个服务进程作为调度者,然后将我们的爬虫任务分布给其他的多个进程当中去,我们依靠网络通信来管理这些进程。2.模拟一个分布...
进程和线程的主要区别(总结) 根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过...
TCP与UDP区别小结 TCP(TransmissionControlProtocol):传输控制协议 UDP(UserDatagramProtocol):用户数据报协议 主要从连接性(Connectivity)、可靠性(Reliability)、有序性(Ordering)、有界性(Boundary)、拥塞控制(Congestion or Flow control)、传输速度(Speed)、量级(Hea...
三种scrapy模拟登陆方式 注意:模拟登陆时,必须保证settings.py里的 COOKIES_ENABLED (Cookies中间件) 处于开启状态COOKIES_ENABLED = True 或 # COOKIES_ENABLED = False策略一:直接POST数据(比如需要登陆的账户信息)只要是需要提供post数据的,就可以用这种方法。下面示例里post的数据是账户密码: # -*...
爬虫教程 1.新建项目:scrapy startproject xxx项目名,例如:scrapy startproject new_project2、 创建爬虫文件name:为文件的名字,在spiders文件下运行 :scrapy genspider -t crawl name'xxxx.com' 3、运行爬虫文件scrapy crawl name ...
Windows下创建python虚拟环境 一 windows下如何构建虚拟环境1. 使用命令:virtualenv 虚拟环境名 来创建一个虚拟环境,创建成功后如下图:2、cd 进入虚拟环境下的Scripts文件夹3、activate 激活虚拟环境当命令行前面有(env1)时,就表示现在处于虚拟环境里了,在这里使用pip安装自己要使用的模块即可4、想要退出虚拟环境时 使用deactivate...
ubuntu16.04中如何将python3设置为默认 ubuntu16.04自带python,但是既有python2,又有python3。但是默认的python命令是python2,我要想执行python3就必须输入python3。为解决如何将python3设为默认的问题,可以采用以下方式:直接执行这两个命令即可:sudo update-alternatives --install /usr/bin/python python ...
打开命令行界面总会提示: ubuntu16安装python3后,打开命令行界面总会提示:/usr/bin/python: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')virtualenvwrapp...
查看虚拟环境 1、查看系统是否安装了virtualenvvirtualenv --version安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。sudo pip install virtualenv #安装虚拟环境sudo pip install virtualenvwrapper #安装虚拟环境扩展包2 、配置L...