selenium操作cookies实现免密登录,自动发微博
一直想用selenium实现个小功能,比如发微博之类的,但是有的网站在登录会有验证码,没想到太好的方法解决,于是想到利用cookies来登录网站
第一步:获取一个可用的cookies,获取的cookies会保存为一个json格式的文件。不过在打开网站后,登录操作需要自己手动进行一下,代码中有注释,大家可以注意一下,代码如下:
#!/usr/bin/python #coding=utf-8from selenium import webdriver import time import jsondef get_cookies(test_url):#保存cookies的文件file = 'cookies.json'#打开需要获取cookies的网站driver = webdriver.Firefox()driver.implicitly_wait(5)driver.get(test_url)driver.maximize_window()#网站打开后,在时间内手动执行登录操作time.sleep(60)#登录成功后,获取cookies并保存为json格式cookies = driver.get_cookies()fp = open(file,'w')json.dump(cookies,fp)fp.close()#关闭浏览器 driver.close()if __name__ == "__main__":url = raw_input('please input url:')get_cookies(url)
第二步:利用cookies登录网站,先打开要登录的网站,然后将cookies从之前保存的json文件读取出来,然后添加到浏览器,刷新界面,即可实现登录,然后便可以进行发微博的操作,具体元素定位,请大家百度selenium的一些基本用法,此处不再赘述。代码中也给出了不打开浏览器的方式来实现功能。
代码如下:
#!/usr/bin/python
#coding=utf-8from selenium import webdriver
import json
import timefile = 'cookies.json'
#打开浏览器,若不想打开浏览器运行脚本,可以使用下面注释掉的方法
driver = webdriver.Firefox()#以headless模式运行脚本,可以实现不打开浏览器对网站进行操作
#option = webdriver.FirefoxOptions()
#option.add_argument(argument='-headless')
#driver = webdriver.Firefox(firefox_options=option)#打开网址
def open_url(url):driver.get(url)driver.implicitly_wait(5)driver.maximize_window()#向浏览器添加保存的cookies
def add_cookies():fp = open(file,'r')cookies = json.load(fp)fp.close()for cookie in cookies:driver.add_cookie(cookie)if __name__ == "__main__":#输入要打开的网站并打开test_url = raw_input('please input url:')open_url(test_url)time.sleep(5)#添加cookies后刷新界面,实现免密登录add_cookies()driver.refresh()# 发送微博#定位到微博输入框,点击输入框driver.find_element_by_xpath("//textarea[@class='W_input']").click()time.sleep(2)#输入需要发送的内容driver.find_element_by_xpath("//textarea[@class='W_input']").send_keys('Test message')time.sleep(3)#关闭浏览器driver.close()
转载于:https://www.cnblogs.com/zhazi/p/11315818.html
selenium操作cookies实现免密登录,自动发微博相关推荐
- Linux下使用expect实现跳板机自动跳转/免密登录/自动登录(转)
shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:&quo ...
- ssh免密登录配置(两行命令搞定)
最简单的ssh免密登录的配置 1.准备工作 2.命令行操作 3.互相免密登录 1.准备工作 确保两台服务器的用户名字相同,这里以用户名是username,服务器A要免密登录到服务器B为例子.注意:以下 ...
- linux服务器之间设置免密登录
linux服务器之间设置免密登录 搞三台虚拟机 我的三台虚拟机是 192.168.30.101 192.168.30.102 192.168.30.103 改一下主机名 vi /etc/hostnam ...
- gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...
常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...
- pythoncookie自动登录_Python使用cookie 免密登录了解一下
我们都知道 HTTP 是无状态的,用户每次打开 web 页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,那么服务器是怎么识别用户的呢? 这就是本文今天要讲解的内容.当服务端需要 ...
- [靠谱原创!] SSH免密登录设置----原理详解+具体操作(全国人民看完都懂了!)
首先介绍一下SSH: 当我们用一台服务器登录另一台服务器可直接使用SSH协议进行登陆: //具体格式: // ssh [用户名]@[IP] ssh wdy@192.168.33.12 也可以直接远程传 ...
- GateOne配置API认证、SSH自动登录、用户免密登录及Web应用嵌入
GateOne的安装与远程连接SSH在上一篇博客中已经有详细过程,传送门:全新CentOS7上GateOne的安装. 今天记录的是GateOne在Web应用中逐步添加API认证.取消掉用户登录需要输入 ...
- linux ssh免密登录(scp免密操作)
使用ssh相关命令,如scp等的时候,输入密码是很麻烦的事,而且有时候需要做自动化操作,这个时候还要人手动输入密码就没法玩了,我们可以通过配置rsa私钥和公钥的方式来免密ssh登录. 也可以直接使用s ...
- Linux操作之多台服务器配置免密登录
在进行多台服务器的使用时,如果每个都去进行输密码的话很麻烦,为了简单一点,我们可以配置多台服务器之间的免密登录,这个免密登录是多台服务器之间相互登录是免密的. 概述 我这里配置的是三态服务器(虚拟服务 ...
最新文章
- [YTU]_2641 9 填空题:静态成员---计算学生个数)
- 你不知道LinkedList中的方法
- 探秘react,一文弄懂react的基本使用和高级特性
- React开发(274):ant design table额外展开行
- java web请求转发_Javaweb请求转发及重定向实现详解
- 直接拿来用!GitHub 上那些值得你 Star 的开源项目!
- Java尖刀系列3:堆
- 【LeetCode】【字符串】题号:*557. 反转字符串中的单词 III
- 象棋正确的学习步骤是什么?入门和提高方法全都教给你!
- 图片视频毛玻璃效果实现
- C语言循环语句——while、for、do while
- 风影版OllyDBG 1.10 2016-12-09修改版
- jaeger 是很么软件_开源分布式跟踪系统Jaeger介绍 (六步快速上手)
- c语言单链表设计报告,单链表实验报告
- 是谁谋杀了中国的民营企业?
- 【交往智慧】004.己所不欲,勿施于人
- C语言试题115之两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定 比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请
- HTML5 可视化音乐播放器(附源码)
- 【源码】2022漫威最新热门电影《奇异博士》的LDA主题影评模型
- gdb调试 出现value optimized out解决方法
热门文章
- How is parsed BeanDefinition registered
- SAP UI5:如何处理resource not found for the segment XXXXX error message
- why always WebContent is added as prefix of url when repository request served
- SAP ABAP Soap测试框架一些有用的工具类
- php什么是阵列,php – 功能阵列的替代方法?
- 的it生活_在日本生活了10年的IT女,聊聊回国工作的亲身经历
- rmi远程反序列化rce漏洞_Oracle WebLogic 反序列化远程命令执行漏洞预警
- astype函数_从Excel到Python:最常用的36个Pandas函数!最完整的Pandas教程!
- java 安卓界面 可视化_Monkey可视化工具开发(android篇)
- html纵向的跑马灯效果,HTML+CSS入门 如何实现跑马灯/走马灯效果