selenium-绕过登录
第一种方式:chrome-debug
1.现在终端输入一下命令,启动Chrome-debug模式
#windows
a.首先将chrome的环境添加到PATH中
b.进入cmd 命令栏,输入:chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
对于-remote-debugging-port值,可以指定任何打开的端口。
对于-user-data-dir标记,指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件。
#mac
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -remote-debugging-port=9999
2.代码中实现
import allure
from selenium import webdriver
from selenium.webdriver.common.by import By
class TestHomework:
# 初始化driver
def setup_method(self):
chrome_options = webdriver.ChromeOptions()
chrome_options.debugger_address = "127.0.0.1:9999"
self.driver = webdriver.Chrome(options=chrome_options)
self.driver = webdriver.Chrome()
with allure.step("打开testerhome"):
self.driver.get("https://testerhome.com")
self.driver.implicitly_wait(10)
def teardown_method(self):
self.driver.quit()
def test_info(self):
self.driver.find_element(By.CSS_SELECTOR, "#main-nav-menu a[href*='topics']").click()
第二种方式:通过添加cookie
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
class TestCookies:
def setup(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(3)
self.driver.get("https://work.weixin.qq.com/wework_admin/frame#contacts")
cookies = {
"wwrtx.vst": "19NQ2XtpdMSwwUH6pWX7FsQzCBGQ_ykd68GEdTXYEInKF0mAkFlqMjtJJBakRbMlU5-domydDDsxm9kZtTuBysVewHAXBOF02zONgDyGs9Qxt0NWzvpODJ8Jh_9sFWKXv08JKGe0LEeg-U3DjZcYjmtuXpnMC3sSeFzqM6XMzK7A91NwrcQyghDmlIPNJwNA2I_zfxvIWhi-EVAQzFJwMs2cxfNh5tqeE6SuCYp2N58NjF93c9b1xSkH4BVuwTsjNDzxWD2lh01VfQsWEgerBg",
"wwrtx.d2st": "a3327543",
"wwrtx.sid": "5KLjjmW-aMstJ0AquQESE7Zesy2gaWElilhy_KxvWmOlq7vkFbDlwaBDVCwcvyzE",
"wwrtx.ltype": "1",
"wxpay.corpid": "1970324954080438",
"wxpay.vid": "1688851903656484",
}
for k, v in cookies.items():
self.driver.add_cookie({"name": k, "value": v})
self.driver.get("https://work.weixin.qq.com/wework_admin/frame#contacts")
def teardown(self):
time.sleep(3)
self.driver.quit()
def test_01(self):
WebDriverWait(self.driver, 5).until(
expected_conditions.visibility_of_element_located((By.CSS_SELECTOR, ".ww_operationBar:first-child "
".js_add_member")))
self.driver.find_element(By.CSS_SELECTOR, ".ww_operationBar:first-child .js_add_member").click()
selenium-绕过登录的更多相关文章
- Selenium绕过登录的实现
1.使用命令行启动Chrome:Mac:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -remote-debugging ...
- Selenium中使用Cookies绕过登录
在使用selenium测试后台时常常每个流程都需要走登录流程,这样自然比较浪费时间.如果遇到登录需要输入验证码等情况,就可能出师未捷身先死. 在Web应用中,登录状态通常是通过Cookie中对应的se ...
- Selenium WebDriver对cookie进行处理绕过登录验证码
现在几乎所有登录页面都会带一个验证码,做起自动化这块比较麻烦, 所以要绕过网站的验证码. 首先需要手动登录一次你的测试网站,去chrome的F12里获取这个网站的cookie信息,找到对应的保存登录信 ...
- Selenium WebDriver 对Cookie进行处理绕过登录验证码
首先需要手动登录一次你的测试网站,去Chrome的F12中获取这个网站的cookie信息,找到对应的保存登录信息的cookie,接下来在代码中将上述的cookie信息通过webdriver写入的自动化 ...
- selenium+python 绕过登录进行测试
多个Py文件进行多线程测试时,每次登录是很麻烦的事情,所以通过cookie登录,可以绕过登录操作 但是至少需要正常登录一次才能获取到cookie 然后使用cookies进行登录
- LR测试登陆后进行的操作时 绕过登录
oadrunner web_add_cookie web_add_cookie 这个的函数原来真的能过逃过登录,哈哈,这个苦苦纠结我的问题呀. 函数原型:int web_add_cookie( con ...
- 破解第一课:NOP绕过登录界面
第一步 打开软件,任意输入密码,提示“用户密码错误还有2次机会” 第二步 OD载入软件,右键-----中文搜索引擎---智能搜索 按下CTRL+F,打开查找,输入“密码错误”,在结果中双击找到的结果 ...
- 4 使用Selenium模拟登录csdn,取出cookie信息,再用requests.session访问个人中心(保持登录状态)
代码: # -*- coding: utf-8 -*- """ Created on Fri Jul 13 16:13:52 2018 @author: a " ...
- 3 使用selenium模拟登录csdn
之前通过F12开发者模式调试,获取网站后台服务器验证用户名和密码的URL之后,再构造post数据的方式会存在一个问题,就是对目标网站的验证机制不明确,构造post数据除了用户名和密码之外,还可能有更复 ...
- selenium(python)登录时账号密码错误提示语
selenium(python)登录时账号密码错误提示语的获取 可以用text
随机推荐
- python之requests.session()使用
背景:使用requests.session会话对象先登录至豆瓣网,再进入“我的豆瓣”. 首先说一下,为什么要进行会话保持的操作? requests库的session会话对象可以跨请求保持某些参数. 说 ...
- JWT伪造攻击
JWT修改伪造攻击 什么是JWT? JSON Web Token(JSON Web令牌)是一种跨域验证身份的方案.JWT不加密传输的数据,但能够通过数字签名来验证数据未被篡改(但是做完下面的WebGo ...
- 刀哥多线程自动释放池autoreleasepool
自动释放池 作用 自动释放对象的 所有 autorelease 的对象,在出了作用域之后,会被自动添加到最近创建的自动释放池中 自动释放池被销毁或者耗尽时,会向池中所有对象发送 release 消息, ...
- [程序员代码面试指南]第9章-在两个长度相等的排序数组中找到第k小的数(二分)
题目 给定两个有序数组arr1和arr2,再给定一个整数k,返回所有的数中第k小的数. 题解 利用题目"在两个长度相等的排序数组中找到第上中位数"的函数 分类讨论 k < 1 ...
- 【好消息】博客迁移到github,求关注,求star,求支持
博客迁移到github 地址:https://github.com/dirkhe1051931999/hjBlog
- JWT理论理解
什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的 ...
- python中的方向控制函数
方向控制函数:控制海龟方向,包含绝对角度&海龟角度 改变海龟运行方向,让海龟转向 angle :改变行进方向,将海归运行方向改变为某一个绝对的角度 例如 将坐标系中的海龟方向改变为绝对系中的4 ...
- Docker之简单操作
安装完Docker后,我们就可以与Docker进行交互来创建和管理容器等操作. 容器生命周期管理: 创建一个新的容器并运行一个命令 docker run [OPTIONS] IMAGE [COMMAN ...
- Python 之父为什么嫌弃 lambda 匿名函数?
Python 支持 lambda 匿名函数,其扩展的 BNF 表示法是lambda_expr ::= "lambda" [parameter_list] ":" ...
- 嘿!Mybatis
简介 什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持自定义 SQL.存储过程以及高级映射. MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作. My ...