有时候,需要调用浏览器请求,但是cookie不能同步,保持登录
解决办法
https://blog.csdn.net/suntao1995/article/details/119559593
https://blog.csdn.net/xueyan2018/article/details/122336850
思路
不调用chromedriver,用已打开的调试窗口登陆,然后后续运行chromedriver在已调试的浏览器运行,就是我打开一个A浏览器,然后代码运行后直接在A浏览器上面改变界面测试,这样A浏览器的登陆状态就得以保持
步骤
1 通过CMD命令,启动本地chrome浏览器A
# 找到浏览器目录,这个目录下有 cheome.exe C:\Users\Administrator\AppData\Local\Google\Chrome\Application>
# 目录地址栏 输入cmd,打开命令行
# chrome --remote-debugging-port=9222
# 浏览器访问 http://127.0.0.1:9100/json 无法访问的话,关闭浏览器执行,再打开
步骤二:selenium执行在本地chrome浏览器A中进行相应的web自动化操作
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# chrome_arg = Options()
# chrome_arg.debugger_address = '127.0.0.1:9222'
# driver = webdriver.Chrome(options=chrome_arg, executable_path='D:\chromepath\chromedriver.exe')
或者
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe" # 浏览器 chromedriver.exe 目录
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
driver.get('www.baidu.com')