首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要获取浏览器的一次性密码驱动的web会话?

为什么要获取浏览器的一次性密码驱动的web会话?
EN

Stack Overflow用户
提问于 2018-12-24 13:38:15
回答 1查看 323关注 0票数 0

我正在设置一个与chrome的会话,其中需要使用用户名、密码和在手机上发送的OTP (一次性密码)登录网站。动态口令只适用于浏览器,这意味着如果我在chrome中输入一次用户名、密码和动态口令,下一次它只会问我用户名和口令,而不是动态口令。我正在使用selenium-python自动执行此操作,selenium总是会打开一个新的浏览器窗口。我该如何克服这种情况呢?

我试图保存cookie,然后将其加载到驱动程序中,但仍然要求使用动态口令。

代码语言:javascript
复制
# Saved functions are below.

import pickle

# Path = "E:\\Python\\cookies\\cookies.pkl".
def save_cookie(driver, path):
    """
    Save cookies in cookies folder.
    """
    with open(path, 'wb') as filehandler:
        pickle.dump(driver.get_cookies(), filehandler)

def load_cookie(driver,path):
    """
    Load cookies from the saved folder.
    """
    with open(path, 'rb') as cookiesfile:
        cookies = pickle.load(cookiesfile)
        for cookie in cookies:
            driver.add_cookie(cookie)

# Here is what I'm trying.

from selenium import webdriver
from udf import cookies
import pickle

driver = webdriver.Chrome()
driver.get('https://somewebsite.com/')
cookies.save_cookie(driver,'E:\\Python\\cookies\\cookies.pkl')

cookies.load_cookie(driver, 'E:\\Python\\cookies\\cookies.pkl')

driver.refresh()

我仍然需要提交Chrome浏览器的动态口令。

EN

回答 1

Stack Overflow用户

发布于 2018-12-24 14:33:30

手动打开chrome浏览器。导航到chrome://version/

记下配置文件路径,以及您当前正在使用的配置文件。

在同一浏览器中导航到您的应用程序,使用所有必需的东西进行登录。

然后在脚本中调用此配置文件。

查看如何在python How to load default profile in chrome using Python Selenium Webdriver?中调用

您必须在上面的链接中提供配置文件路径

代码语言:javascript
复制
options.add_argument("user-data-dir=C:\\Path") #Path to your chrome profile
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53909543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档