我正在设置一个与chrome的会话,其中需要使用用户名、密码和在手机上发送的OTP (一次性密码)登录网站。动态口令只适用于浏览器,这意味着如果我在chrome中输入一次用户名、密码和动态口令,下一次它只会问我用户名和口令,而不是动态口令。我正在使用selenium-python自动执行此操作,selenium总是会打开一个新的浏览器窗口。我该如何克服这种情况呢?
我试图保存cookie,然后将其加载到驱动程序中,但仍然要求使用动态口令。
# 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浏览器的动态口令。
发布于 2018-12-24 14:33:30
手动打开chrome浏览器。导航到chrome://version/
记下配置文件路径,以及您当前正在使用的配置文件。
在同一浏览器中导航到您的应用程序,使用所有必需的东西进行登录。
然后在脚本中调用此配置文件。
查看如何在python How to load default profile in chrome using Python Selenium Webdriver?中调用
您必须在上面的链接中提供配置文件路径
options.add_argument("user-data-dir=C:\\Path") #Path to your chrome profilehttps://stackoverflow.com/questions/53909543
复制相似问题