python selenium cookie 登录
概要:
1、正常登录,使用selenium获取cookie;
2、保存cookie;
3、使用cookie登录。
4、python--2.7,selenium--3.4.1
步骤1
正常登录,使用selenium获取cookie。
代码如下。
handlingcookie.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/8/9 14:07
from selenium import webdriver if __name__ == '__main__':
url = "http://demo.avactis.com/4.7.9/sign-in.php"
username = "xxxxxxxxxx@gmail.com"
password = "xxxxxxxxxxxx"
id_username = "account_sign_in_form_email_id"
id_password = "account_sign_in_form_passwd_id"
css_button = ".btn.btn-primary.input_submit" driver = webdriver.Chrome()
driver.get(url)
driver.find_element_by_id(id_username).send_keys(username)
driver.find_element_by_id(id_password).send_keys(password)
driver.find_element_by_css_selector(css_button).click()
with open("cookie.data", "w") as f:
for cookie in driver.get_cookies():
print(cookie)
f.write(
str(cookie) + "\n"
)
执行后,保存cookie到文件
cookie.data
{u'domain': u'.avactis.com', u'secure': False, u'value': u'GA1.2.2145942479.1502271335', u'expiry': , u'path': u'/', u'httpOnly': False, u'name': u'_gid'}
{u'domain': u'.avactis.com', u'secure': False, u'value': u'GA1.2.1002502728.1502271335', u'expiry': , u'path': u'/', u'httpOnly': False, u'name': u'_ga'}
{u'domain': u'demo.avactis.com', u'secure': False, u'value': u'71a75b89b195945b4e9a80423711167e', u'expiry': 1510047349.50336, u'path': u'/', u'httpOnly': False, u'name': u'avactis_visitor_id'}
{u'domain': u'.avactis.com', u'secure': False, u'value': u'', u'expiry': , u'path': u'/', u'httpOnly': False, u'name': u'_gat'}
{u'domain': u'demo.avactis.com', u'secure': False, u'value': u'cmljk1spe04cdhlaefhtr3s4a0', u'expiry': 1504863349.503341, u'path': u'/', u'httpOnly': False, u'name': u'CZSESSID'}
{u'domain': u'demo.avactis.com', u'secure': False, u'value': u'save', u'expiry': 1502357746.463145, u'path': u'/', u'httpOnly': False, u'name': u'save_session'}
步骤2
使用cookie登录
loading_cookie_data.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/8/9 15:06
import time
from selenium import webdriver if __name__ == '__main__':
url = "http://demo.avactis.com/4.7.9" with open("cookie.data", "r") as f:
lis_lines = f.readlines() driver = webdriver.Chrome()
driver.get(url)
for line in lis_lines:
dic_line = eval(line.strip())
driver.add_cookie(dic_line)
driver.refresh()
time.sleep(5)
工程目录

需要注意
1、首先,打开url driver.get(url) ,然后才能添加cookie driver.add_cookie(dic_line) 。
2、handlingcookie.py中,登录后,不能点击页面上的signout,否则会导致cookie无效。
3、需要将chromedriver.exe的路径配置在环境变量中。
python selenium cookie 登录的更多相关文章
- Python Selenium Cookie 绕过验证码实现登录
Python Selenium Cookie 绕过验证码实现登录 之前介绍过博客园的通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1. ...
- 使用Python+Selenium模拟登录QQ空间
使用Python+Selenium模拟登录QQ空间爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密,这绝对能掉好几斤头发.而现在有了seleniu ...
- Python + Selenium 实现登录Office 365
最近捡起之前用的Python + Selenium实现工作中需要的登录Office 365功能.(吐槽:国内网络真是卡,登录Office 365实属不易.另外Selenium这样的网站都要墙,无法理解 ...
- python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]
背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所 ...
- selenium cookie 登录
前言 爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的send key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了co ...
- python+selenium实现登录账户
selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Gr ...
- Python+ Selenium自动化登录腾讯QQ邮箱实例
学习了Python语言一段时间后,在公司的项目里也使用到了python来写测试脚本,一些重复的操作都使用脚本来处理了.大大的提高工作效率,减少了一些手工重复的操作. 以下是使用unittest框架写的 ...
- python selenium模拟登录163邮箱和QQ空间
最近在看python网络爬虫,于是我想自己写一个邮箱和QQ空间的自动登录的小程序, 下面以登录163邮箱和QQ空间和为例: 了解到在Web应用中经常会遇到frame/iframe 表单嵌套页面的应用, ...
- 九、Python+Selenium模拟登录
研究QQ登录规则的话,得分析大量Javascript的加密解密,比较耗时间.自己也是练习很少,短时间成功不了.所以走了个捷径. Selenium是一个WEB自动化测试工具,它运行时会直接实例化出一个浏 ...
随机推荐
- python调度框架APScheduler使用详解
# coding=utf-8 """ Demonstrates how to use the background scheduler to schedule a job ...
- vue-router 动态路由匹配
export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld, }, { / ...
- Java 分页之最简单的算法
分页实现有很多方式,如jQuery自带框架pagination或在java封装一个类pager等. 下写一个简单易懂的分页算法 逻辑: // 步骤1:设置每页页数大小 long pageS ...
- 工作总结 返回 json 后台对象中,某一个字段设为string 整个对象转换为json 返回到页面中
JsonRequestBehavior.AllowGet作用 若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet MVC 默认 Request 方式为 Po ...
- C# Html Agility Pack
using System; using HtmlAgilityPack; using System.IO; using System.Text; using System.Text.RegularEx ...
- mysql中把字符串转成时间戳进行对比
::") ");
- amchart 图表设置
官网:https://www.amcharts.com/demos/ 属性介绍:https://docs.amcharts.com/3/javascriptcharts/AmLegend 安装 bow ...
- /etc/cron.d添加定时任务脚本后不生效
原因:定时任务脚本中的命令中包含了环境变量,crontab不能读取到环境变量. vim /etc/cron.d/mymon #mymon内容如下: * * * * * root cd $GOPATH/ ...
- 生成JNI的DLL时提示找不到jni.h的解决的方法Cannot open include file: 'jni.h': No such file or directory
解决的方法: 就是到jdk的安装文件夹下include下把下面对应的文件,拷贝到vc文件夹下的include文件夹下 \jdk\include\jni.h \jdk\include\win32\jaw ...
- git 撤销已经push到远端的代码
其实是没有直接让远端代码回复到某次的指令,实现撤销push的思路如下: 1.先让代码恢复到想要恢复的前一次提交记录 2.重新提交代码,覆盖端上的代码,就相当于撤销了push 的提交 实现方式如下: 1 ...