加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python selenium:使用已经打开并使用登录凭据登录的浏览器

发布时间:2020-12-16 22:30:08 所属栏目:Python 来源:网络整理
导读:有没有办法,对于使用selenium的python程序的不同运行,我保留我打开并使用我的凭据登录的浏览器,打开并在以后的运行中使用? 我正在调试代码.每次我需要使用我的凭据登录时在浏览器上.目前,每次我停止代码时,Web浏览器都会关闭.有没有办法保留我已经打开并登

有没有办法,对于使用selenium的python程序的不同运行,我保留我打开并使用我的凭据登录的浏览器,打开并在以后的运行中使用?

我正在调试代码.每次我需要使用我的凭据登录时在浏览器上.目前,每次我停止代码时,Web浏览器都会关闭.有没有办法保留我已经打开并登录的浏览器副本并将其用于我以后的调试,以便每次我都不需要再次输入我的登录凭据?

我打开浏览器的代码如下所示:

driver = webdriver.Chrome(executable_path="/the_path/chromedriver",chrome_options=chrome_options) 
driver.get(url)

编辑:

实际上,该网站要求认证的方式如下:
首先,它要求输入用户名,然后我需要按下继续按钮,然后它要求输入密码,输入密码后,它会向我的手机发送短信,我需要在进入预定页面之前输入.

最佳答案
好吧,因为这个问题被赞成,但我的国旗作为重复的问题未被接受,我将在这里发布same exact answer I already posted for a similar question:

您可以使用pickle将cookie保存为文本文件,并在以下情况下加载:

def save_cookie(driver,path):
    with open(path,'wb') as filehandler:
        pickle.dump(driver.get_cookies(),filehandler)

def load_cookie(driver,path):
     with open(path,'rb') as cookiesfile:
         cookies = pickle.load(cookiesfile)
         for cookie in cookies:
             driver.add_cookie(cookie)

使用如下脚本:

from selenium import webdriver
from afile import save_cookie

driver = webdriver.Chrome()
driver.get('http://website.internets')

foo = input()

save_cookie(driver,'/tmp/cookie')

你能做的是:

>运行此脚本
>在(selenium的)浏览器上,转到网站,登录
>返回终端,输入任何输入的内容.
>在/ tmp / cookie享受您的cookie文件.您现在可以将其复制到代码仓库中,并在需要时将其打包到您的应用程序中.

那么,现在,在您的主应用程序代码中:

from afile import load_cookie

driver = webdriver.Chrome()
load_cookie(driver,'path/to/cookie')

你现在已经登录了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读