python selenium chrome 实现自动化登录
1、环境安装
selenium的开发文档网址(英语好的可以直接看这个,写的很详细):http://selenium-python.readthedocs.io/
因为实现的时候使用的是谷歌浏览器,在运行脚本时需要下载一个chromedriver.exe,下载地址为(注意根据自己的谷歌浏览器的版本来下载):http://npm.taobao.org/mirrors/chromedriver/
将下载下来的chromedriver.exe放在chrome安装目录下。我的安装目录是(C:\Users\0923\AppData\Local\Google\Chrome\Application\)
配置环境变量PATH为chromedriver目录
pip install selenium
然后就可以写代码了:
# coding: utf-8
import time
from selenium import webdriver
from PIL import Image
import pytesseract
browser = webdriver.Chrome()
browser.get('http://www.lxwc.com.cn')
browser.maximize_window()
# 根据路径找到按钮,并模拟进行点击
browser.find_element_by_xpath('//*[@id="toptb"]/div/div[1]/div[3]/ul/li[2]/a').click()
# 延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(1)
# 根据路径找到按钮,并模拟进行点击
browser.find_element_by_xpath('//*[@id="normallogin"]/a').click()
# 延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(1)
# 这里是找到输入框,发送要输入的用户名和密码,模拟登陆
browser.find_element_by_xpath(
"//input[@name='username']").send_keys("xxx")
browser.find_element_by_xpath(
"//input[@name='password']").send_keys("xxx")
# 在输入用户名和密码之后,点击登陆按钮
browser.find_element_by_xpath("//button[@name='loginsubmit']").click()
#验证码识别,未完成
element = browser.find_element_by_xpath("//img[@class='vm']")
location = element.location
size = element.size
left = location['x']
top = location['y']
right = location['x'] + size['width']
bottom = location['y'] + size['height']
print(location)
print(size)
# 打开目标网站,并截取完整的图片
browser.get_screenshot_as_file('login.png')
im = Image.open('login.png')
im = im.crop((left, top, right, bottom))
im.save('code.png')
验证码部分:调用Pytesseract
https://www.jianshu.com/p/afcde49c57b7
python selenium chrome 实现自动化登录的更多相关文章
- python+selenium+chrome实现自动登录百度
#python3.4+selenium3.5+chrome版本 63.0.3239.132+chrome驱动chromedriver.exe #实现自动登录百度 from selenium impor ...
- python+selenium+chrome初级自动化操作
例1. #coding=utf- from selenium import webdriver import os,time chromedriver = "C:\Users\AppData ...
- python+selenium+Chrome options参数
python+selenium+Chrome options参数 Chrome Options常用的行为一般有以下几种: 禁止图片和视频的加载:提升网页加载速度. 添加代理:用于翻墙访问某些页面,或者 ...
- 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...
- Docker环境下运行python+selenium+chrome
Docker环境下运行python+selenium+chrome docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将docker与selenium结合实现 ...
- 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...
- 【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...
- 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...
- 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...
随机推荐
- Xcode 10 Archive 时电脑卡死
Xcode 10 Archive Unity5.x 导出工程时电脑卡死.解决办法:Targets - Build Settings - Debug Information Format 设置成DWAR ...
- Kubernetes pod平滑迁移
pod平滑迁移 使用到的命令 (cordon, drain, uncordon)这三个命令是正式release的1.2新加入的命令,三个命令一起介绍,是因为三个命令配合使用可以实现节点的维护.在1.2 ...
- 数据库开发-Django ORM的单表查询
数据库开发-Django ORM的单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询集 1>.查询集相关概述 查询会返回结果的集,它是django.db.mod ...
- nginx负载调度算法,后端节点状态
- 【Pet HDU - 4707 】【利用并查集找深度】
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const i ...
- 洛谷 P1032 字串变换题解
题目链接:https://www.luogu.org/problem/P1032 题目描述 已知有两个字串A,BA,B及一组字串变换的规则(至多66个规则): A_1A1 ->B_1B1 A ...
- vue 修改对象或数组的属性
- danci4
advantage 英 [əd'vɑːntɪdʒ] 美 [əd'væntɪdʒ] n. 优势:利益:有利条件 vi. 获利 vt. 有利于:使处于优势 lack 英 [læk] 美 [læk] vt. ...
- Pycharm中打开Terminal方式
点击剪头的图标就可以在左侧出现Terminal
- np.mean()函数
1. 数组的操作: import numpy as np a = np.array([[1, 2], [3, 4]]) print(a) print(type(a)) print(np.mean(a) ...