首页 > 其他分享 >selenium自动登录cnblogs案例

selenium自动登录cnblogs案例

时间:2024-02-21 16:23:36浏览次数:26  
标签:cnblogs 登录 selenium options bro import div find

代码如下:

import json
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.edge.service import Service
from selenium.webdriver.chrome.options import Options

ser = Service()
ser.path = r'D:\驱动路径\chromedriver.exe'

# 去掉自动化软件控制的检测
options = Options()
options.add_argument("--disable-blink-features=AutomationControlled")  # 去掉自动化控制
bro = webdriver.Chrome(service=ser, options=options)
bro.get('https://www.cnblogs.com/')
# 隐士等待
bro.implicitly_wait(10)
# 窗口全屏
bro.maximize_window()
# 寻找页面登陆按钮并点击
login_btn = bro.find_element(By.LINK_TEXT, '登录')
login_btn.click()

time.sleep(2)

# 找到用户名和密码输入框
username = bro.find_element(By.CSS_SELECTOR, '#mat-input-0')
password = bro.find_element(By.ID, 'mat-input-1')
# 找到登陆提交按钮
submit_btn = bro.find_element(By.CSS_SELECTOR,
                              'body > app-root > app-sign-in-layout > div > div > app-sign-in > app-content-container > div > div > div > form > div > button')
# 找到验证按钮
code = bro.find_element(By.ID, 'rectMask')
time.sleep(1)

username.send_keys('账号名')
time.sleep(1)
password.send_keys('密码')
time.sleep(1)
submit_btn.click()  # 一种情况直接登录成功   一种情况会弹出验证码
# 点击验证按钮
code.click()
# 到现在,是登录成功的状态
# 取出cookie存起来
cookies = bro.get_cookies()
with open('cnblogs.json', 'w', encoding='utf-8') as f:
    json.dump(cookies, f)
bro.close()

标签:cnblogs,登录,selenium,options,bro,import,div,find
From: https://www.cnblogs.com/wellplayed/p/18025548

相关文章

  • selenium设置无头浏览器
    使用场景:如果我们只需要获取执行后的数据结果,而不需要打开浏览器,就用得上无头浏览器设置方式:额外添加以下代码:fromselenium.webdriver.chrome.optionsimportOptionsoptions=Options()options.add_argument('blink-settings=imagesEnabled=false')#不加载图片,......
  • selenium搜索标签,获取标签属性
    搜索标签1By.ID#根据id号查找标签bro.find_element(By.ID,'id内容')2By.NAME#根据name属性查找标签3By.TAG_NAME#根据标签名查找标签a_list=bro.find_elements(By.TAG_NAME,'a')4By.CLASS_NAME#按类名找dig=bro.find_element(By.CLASS_NAME,'diggit')......
  • selenium的快速使用
    selenium介绍selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器快速使用第一步:确认要驱动的浏览器(以谷歌浏览器为例)第二步:下载与浏览器版本对应的驱动https://googlechromelabs.github.io/chrome-......
  • 给 PyQt5 登录添加记住用户密码功能,并优化一些内容
    使用PyQt5(PySide2)+SQLAlchemy做一个登录注册页(七)本文将介绍自己用PyQt5+SQLAlchemy做的一个登录注册页,使用邮箱接收验证码,本文介绍是前后端未分离的实现方式,后续将出一个前后端分离的,你可以将PyQt5改为PySide2以获得更宽松的开源协议本文由于涉及到的代码较多,将会是一......
  • Kob_配置Mysql与注册登录模块(中)
    配置Mysql与注册登录模块(中)session与jwtsession验证url包括公开的和需要权限的登录,注册这种页面肯定是公开界面,大家都可以访问.发送一个登录请求,将账号和密码发送到服务器,服务器接收数据去和数据库存储的账号密码数据进行比对,如果通过就向用户发送一个sessionid,用户会将这......
  • requests实现模拟登录
    发送登录请求importrequestsdata={'username':'用户名','password':'密码','captcha':'3333','remember':'1','ref':'http://www.aa7a.cn/'......
  • selenium使用已打开的浏览器
    最后更新:2024.02.19python版本:3.12selenium版本:4.16.0在写selenium的时候,调试网页每次都需要新建一个浏览器实例,再打开网页进行操作,比较费时,尤其是在当网页加载特别慢的情况下;使用 ChromeDevTools协议就可以让selenium直接使用当前已经打开的处于远程调试的浏览器实例,以下......
  • centos7.9 无法远程登录报Permission denied, please try again 错误
    最近因高危漏洞对openssh的版本升级到OpenSSH_9.4p1,OpenSSL1.1.1k 25Mar2021 有台机器无法远程连接,报如下错误: 有点奇怪,openssh同时升级了两台机器  ,另外一台都可以最开始怀疑是PermitRootLoginyes注释掉的原因,打开注释还是无法登录反正各种折腾,最后修改如下......
  • python+selenium基础语法
    一、执行环境Python3.12.0selenium3.14.0二、八大元素定位//示例:打开百度,输入123,点击搜索fromseleniumimportwebdriverfromtimeimportsleepfromselenium.webdriver.common.byimportBydeftest():driver=webdriver.Chrome("D:/driver/chromedri......
  • 如何实现基于vue技术的管理系统的用户是否登录
    问题:在进行前后端分离开发时候,我们会处理一些前端用户的登录状态。如果用户没有进行登录,则不允许用户访问某些页面一、登录方式首先可以先了解一下前后端分离后的登录方式(1)Cookie+Session(2)Token二、Cookie+SessionHTTP是一种无状态的协议,客户端每次发送请求时,首先要和服务......