相关文章推荐
玩滑板的凉面  ·  Selenium ...·  15 小时前    · 
爽快的大熊猫  ·  C++ ...·  6 月前    · 
打酱油的香槟  ·  C# .net core ...·  1 年前    · 
爽快的莲藕  ·  MySQL的多表查询 - 知乎·  1 年前    · 
不羁的高山  ·  python - ...·  1 年前    · 


一、利用ChromeOptions() 加载用户配置

1、在谷歌浏览器中输入chrome://version,查看安装目录及缓存目录,这个是windows上的配置

selenium之如何加载用户配置,跳过登录验证(攻克大众难点)_selenium

在执行代码之前,关闭已打开的谷歌浏览器,防止chromedriver挂起:

from selenium import webdriver
import time
import os
option_b = webdriver.ChromeOptions()
# 加载用户配置 绕过登录
option_b.add_argument(f"--user-data-dir={os.path.expanduser('~')}\\AppData\\Local\\Google\\Chrome\\User Data")
option_b.add_argument(" --profile-directory=Profile 1")

chrome_driver = "./chromedriver_92.0.4515.107.exe"
driver_b = webdriver.Chrome(chrome_options=option_b, executable_path=chrome_driver)
driver_b.maximize_window()
driver_b.get("https://www.baidu.com")
time.sleep(5)
driver_b.quit()



# 实例化ChromeOptions
option = webdriver.ChromeOptions()

# 加载用户配置 绕过登录
option.add_argument(f"--user-data-dir={os.path.expanduser('~')}\\AppData\\Local\\Google\\Chrome\\User Data")
option.add_argument(" --profile-directory=Default")


chrome_driver = "./chromedriver_92.0.4515.107.exe"
driver = webdriver.Chrome(chrome_options=option, executable_path=chrome_driver)
driver.maximize_window()
driver.get("https://www.baidu.com")
time.sleep(5)
driver.quit()

2、在谷歌浏览器中输入chrome://version,查看安装目录及缓存目录,这个是mac上的配置

selenium之如何加载用户配置,跳过登录验证(攻克大众难点)_谷歌浏览器_02

在执行代码之前,关闭已打开的谷歌浏览器,同样是要现在改用户资料下先登录后关闭:

from selenium import webdriver
from time import sleep

# 实例化ChromeOptions
option = webdriver.ChromeOptions()

# 加载用户配置 绕过登录
option_b.add_argument('--user-data-dir=/Users/leiyuxing/Library/Application Support/Google/b')
option.add_argument('--profile-directory=b')


driver = webdriver.Chrome(chrome_options=option)
driver.maximize_window()
#driver.get("https://www.baidu.com")
driver.get
sleep(5)
driver.quit()


执行完成后,打开的页面是已经登录的状态


二、利用cookies跳过登录

1、启用谷歌插件EditThisCookie抓取百度登录cookies/抓包软件也可以获取到cookies哦:

selenium之如何加载用户配置,跳过登录验证(攻克大众难点)_windows_03

2、代码实现:

from selenium import webdriver

# 跳过cookies验证
driver = webdriver.Chrome()
driver.maximize_window()
#将身份识别的cookies添加到本次的浏览器当中--用字典表达
'''
如:driver.add_cookie({'name' : 'foo', 'value' : 'bar'})
例如:键值对{"lg_":"aaabbb"}
需要指定name及value对应的值
cookie={“name”:“lg_”,“value”:“aaabbb”}
'''
cookies_1={"name":"BAIDUID","value":"BAIDUID的value值--以具体的为准"}
cookies_2={"name":"BDUSS","value":"BDUSS的value值--以具体的为准"}
#先访问以下首页
driver.get("https://www.baidu.com/")
#将cookies添加上去
driver.add_cookie(cookies_1)
driver.add_cookie(cookies_2)
 
#访问主页
driver.get("https://www.baidu.com/?tn=62095104_7_oem_dg")

执行完成后,打开的页面是已经登录的状态

域用户登录验证

AD域用户登录验证。FSMO有五种角色,分成两大类:森林级别(即一个森林只存在一台DC有这个角色):Schema Master中文翻译成:架构主控 ,Domain Naming Master中文翻译成:域命名主控域级别(即一个域里面只存一台DC有这个角色):PDC Emulator 中文翻译成:PDC仿真器, RID Master 中文翻译成:RID主控Infrastructure Master 中文翻译成:基础架构主控问题:现在A公司全国上海,北京,深圳有分公司,分别划分三个AD站点,都属于同一个域中,那么所有的FSMO角色就只有一个了,都是放在深圳的一台DC上,GC在各站点都有一台。现各分公司的用户登录,如密码验证等动作,是否会找各自站点内的GC来完成?为什么?PDC emulator不是域中用来验证用户密码的吗?

innodb默认隔离级别 mysql mysql的默认隔离级别

Mysql默认事务隔离级别是:REPEATABLE-READ--查询当前会话事务隔离级别 mysql> select @@tx_isolation;+-----------------+ | @@tx_isolation | +-----------------+ | REPEATABLE-READ | +-----------------+ 1 row in set (0.00sec)