Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python模拟自动登陆网页的三种方法!

Python模拟自动登陆网页的三种方法!

作者头像
测试开发技术
发布于 2022-12-27 10:38:23
发布于 2022-12-27 10:38:23
6.9K15
代码可运行
举报
文章被收录于专栏:测试开发技术测试开发技术
运行总次数:5
代码可运行

一、利用Cookie实现登陆

1、先登陆后取网页中的Cookie加入到headers(标头),再用get方法获取网页内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests

headers = {
    "Cookie": "你登陆后网页的Cookie"
}
url = 'https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919'
response = requests.get(url,headers=headers)
response.encoding = 'utf-8'
print(response.json())

2、获取Cookie的步骤, 打开开发者模式(按下f12),进入网络(network),并输入登陆账号密码

2)找到相应的文件,查看“请求标头”

运行结果:

二、利用from data的数据提交账号密码

1、先登陆然后找到登陆响应页面的from data的数据(即账号密码)用post提交账号密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests

session = requests.session()
url = "https://passport.17k.com/ck/user/login"

data = {
    "loginName":"你的账号",
    "password":"你的密码"
}
session.post(url,data=data)
resp = session.get("https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919")
print(resp.json())

找到data的步骤:

1)进入17k.com然后点击书架,进入登陆页面,输入账号密码

2)登陆后注意网络(network)里面的login文件并点击,找到负载(或者往下拉找到 from data)

3)把你的账号密码copy到代码里面来

运行结果:

三、Selenium模拟登陆

模拟人工输入账号、密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from selenium import webdriver
import time
driver.get("https://user.17k.com/www/bookshelf/")
time.sleep(2)
#获取登陆模块的iframe
el_path = driver.find_element_by_xpath('/html/body/div[4]/div/div/iframe')
#进去该iframe
driver.switch_to.frame(el_path)
#进入成功后,输入账号密码以及勾选同意并点击登陆
driver.find_element_by_xpath('//dd[@class="user"]/input').send_keys('你的账号')
driver.find_element_by_xpath('//dd[@class="pass"]/input').send_keys('你的密码')
#勾选同意
driver.find_element_by_xpath('//*[@id="protocol"]').click()
#点击登陆
driver.find_element_by_xpath('//dd[@class="button"]/input').click()

注意事项

1、下载chrome浏览器

2、下载对应版本的Chromedriver,不对应就会出bug

3、一定先查看需要操作的页面元素是否有一层iframe框架(可以在页面元素中ctrl+f输入iframe或frame搜索),不然找不到元素,操作不了。

4、XPath路径可以直接复制网页里面的

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
请问:Python 能自动登录网页,能否获取光猫(已登录网页)管理员密码……?
请问:Python 能自动登录网页,能否获取光猫(已登录网页)管理员密码……?
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
使用Selenium与Requests模拟登陆
注意两个地方,cookies和参数,先来看看参数,稍微特别的就是authenticity_token,感觉是验证。Ctrl+Shift+F打开搜索,最终在返回的html中找到
小歪
2018/07/25
1.5K0
使用Selenium与Requests模拟登陆
实战项目二: 实现CSDN自动点赞
环境: Python3.6.5 编译器: Sublime Text 3 代码: GitHub 联系方式: ke.zb@qq.com 第三方库: selenium
K同学啊
2019/01/22
1.5K0
Python模拟登陆万能法-微博|知乎
Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法。你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆。本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅用其作为例子来讲解。
周小董
2019/03/25
6.2K0
用Python写网页的自动签到
2.下载chromedriver驱动; 找到符合自己浏览器版本的chromedriver驱动,下载解压后,将chromedriver.exe文件放到Python目录下的Scripts目录下,也可以添加环境变量到Path中。
用户2590762
2021/08/11
2.5K0
017:Opencv+Selenium模拟QQ邮箱滑块操作
之前发了一个国航的滑块模拟操作,没有计算滑块到缺口的位置。 本篇则是用opencv+selenium来对QQ邮箱的滑块进行模拟测试。
李玺
2021/11/22
1.2K0
017:Opencv+Selenium模拟QQ邮箱滑块操作
利用 Python 爬取 QQ 空间说说和相册
QQ 空间在 2005 年被腾讯开发,已经经历了 15 个年头,在还没有微信的年代,看网友发表的心情、心事、照片大多都在 QQ 空间的里。它承载了80、90 后的大量青春,下面我们一起用 selenium 模块导出说说和相册回忆青春吧。
张俊红
2021/06/25
3.2K0
利用 Python 爬取 QQ 空间说说和相册
饮料配方研发网站自动发布代码
# from selenium.webdriver.support.select import Select
用户4393181
2021/12/22
5100
用python操作浏览器的三种方式
第一种:selenium导入浏览器驱动,用get方法打开浏览器,例如: import time from selenium import webdriver def mac():     driver = webdriver.Firefox()     driver.implicitly_wait(5)     driver.get("http://huazhu.gag.com/mis/main.do") 第二种:通过导入python的标准库webbrowser打开浏览器,例如: >>> import webbrowser >>> webbrowser.open("C:\\Program Files\\Internet Explorer\\iexplore.exe") True >>> webbrowser.open("C:\\Program Files\\Internet Explorer\\iexplore.exe") True  第三种:使用Splinter模块模块 一、Splinter的安装 Splinter的使用必修依靠Cython、lxml、selenium这三个软件。所以,安装前请提前安装 Cython、lxml、selenium。以下给出链接地址: 1)http://download.csdn.net/detail/feisan/4301293 2)http://code.google.com/p/pythonxy/wiki/AdditionalPlugins#Installation_no 3)http://pypi.python.org/pypi/selenium/2.25.0#downloads 4)http://splinter.cobrateam.info/ 二、Splinter的使用   这里,我给出自动登录126邮箱的案例。难点是要找到页面的账户、密码、登录的页面元素,这里需要查看126邮箱登录页面的源码,才能找到相关控件的id.   例如:输入密码,密码的文本控件id是pwdInput.可以使用browser.find_by_id()方法定位到密码的文本框, 接着使用fill()方法,填写密码。至于模拟点击按钮,也是要先找到按钮控件的id,然后使用click()方法。 #coding=utf-8   import time   from splinter import Browser  def splinter(url):   browser = Browser()      #login 126 email websize    browser.visit(url)       #wait web element loading   time.sleep(5)      #fill in account and password   browser.find_by_id('idInput').fill('xxxxxx')  browser.find_by_id('pwdInput').fill('xxxxx')      #click the button of login    browser.find_by_id('loginBtn').click()       time.sleep(8)       #close the window of brower       browser.quit()   if __name__ == '__main__':       websize3 ='http://www.126.com'       splinter(websize3)  WebDriver简介 selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web-app测试。从这篇博客开始,将学习使用如何使用python调用webdriver框架对浏览器进行一系列的操作 打开浏览器 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") print(driver.title) driver.find_element_by_id("kw").send_keys("s
py3study
2020/01/06
8.5K0
用python操作浏览器的三种方式
爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别
在我们写爬虫的过程中,目标网站常见的干扰手段就是设置验证码等,本就将基于Selenium实战讲解如何处理弹窗和验证码,爬取的目标网站为某仪器预约平台
刘早起
2020/07/29
2.3K0
爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别
Python网络爬虫之模拟登陆
Python网络爬虫应用十分广泛,但是有些网页需要用户登陆后才能获取到信息,所以我们的爬虫需要模拟用户的登陆行为,在登陆以后保存登陆信息,以便浏览该页面下的其他页面。
刀刀老高
2019/03/06
5950
Python网络爬虫之模拟登陆
windows下实现黑客派自动签到
需要翻墙,地址为 http://chromedriver.chromium.org/downloads,找到符合自己浏览器版本的 chromedriver 驱动,下载解压后,将 chromedriver.exe 文件放到 Python 目录下的 Scripts 目录下。我已下载 75 版本
cuijianzhe
2022/06/14
6790
windows下实现黑客派自动签到
携程 爬虫_python自动化和爬虫先学哪个
二、下载传送门 url:http://chromedriver.storage.proxy.ustclug.org/index.html 根据自己的版本进行下载
全栈程序员站长
2022/11/15
5580
携程 爬虫_python自动化和爬虫先学哪个
Amazon后台模拟登陆
本文基于python3.4的selenium库打开浏览器,并将浏览器中的登陆cookie保存到本地,那么下次登陆就可以直接利用cookie了:
机器学习和大数据挖掘
2019/07/02
4.1K0
Amazon后台模拟登陆
微信公众号爬虫 微信公众号爬虫
爬取步骤: 1. get_cookie.py用selenium登陆,获取cookie,其中你需要勾选“记住”选项,还需要微信扫描二维码,确定顺利登陆
尾尾部落
2018/09/04
8.4K0
从登陆到爬取:Python反反爬获取某宝成千上万条公开商业数据
chrom浏览器的驱动器下载地址:http://npm.taobao.org/mirrors/chromedriver/
荣仔_最靓的仔
2021/02/02
1.2K0
从登陆到爬取:Python反反爬获取某宝成千上万条公开商业数据
Python + Selenium 自动发布文章(三):CSDN
  这是本系列的第三篇文章,主要介绍如何用Python+Selenium 自动发布CSDN博客,一些必要的条件在之前的文章里面已经提到过,这里也不再重复。
happyJared
2018/09/20
7160
Python + Selenium 自动发布文章(三):CSDN
使用chatgpt编写公众号订推文的脚本
这个脚本首先打开Chrome浏览器,然后打开微信公众号平台登录页面。在登录后,它会跳转到发布文章页面,填写文章标题和正文,并点击发布按钮。最后,它会等待一段时间以确保文章发布成功,然后关闭浏览器。
Tom2Code
2023/08/31
5590
使用chatgpt编写公众号订推文的脚本
七、Selenium与phantomJS----------动态页面模拟点击、网站模拟登录 每天一个小实例1(动态页面模拟点击,并爬取你想搜索的职位信息) 每天一个小实例2(模拟网站登录)我用的是
每天一个小实例1(动态页面模拟点击,并爬取你想搜索的职位信息) 1 from selenium import webdriver 2 from bs4 import BeautifulSoup 3 4 # 调用环境变量指定的PhantomJS浏览器创建浏览器对象 5 driver = webdriver.PhantomJS() 6 7 #访问的网址,我这里是登录的boss直聘 8 driver.get('https://www.zhipin.com/') 9 10 #模拟在搜索框输入
酱紫安
2018/04/16
2.4K0
七、Selenium与phantomJS----------动态页面模拟点击、网站模拟登录
		每天一个小实例1(动态页面模拟点击,并爬取你想搜索的职位信息) 每天一个小实例2(模拟网站登录)我用的是
用 Python 找出并拉黑那些 QQ 空间屏蔽我的塑料好友们
最近发现有人QQ空间对我展开了屏蔽,咱们也不知道怎么惹到人家了,一气之下写了一个小爬虫看看到底谁把我屏蔽了。写小本本记下来!!!
Crossin先生
2021/12/01
4330
用 Python 找出并拉黑那些 QQ 空间屏蔽我的塑料好友们
Python + Selenium 自动发布文章(一):开源中国
  还是说说出这个系列的起因吧。之前写完或是修改了Markdown文章,我还分别需要在多个平台进行发布或是更新维护这些内容,这些平台目前包括我的博客、简书、开源中国和CSDN,其实早就想过用比较自动化的形式来解决,无奈有技术、时间、精力等各方面原因的限制。废话不多说吧,直奔今天的主题,本文主要介绍如何用Python和Selenium写(发)开源中国的博客。
happyJared
2018/09/20
7040
Python + Selenium 自动发布文章(一):开源中国
推荐阅读
相关推荐
使用Selenium与Requests模拟登陆
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验