0

刚开始使用 Python / Selenium 我需要能够为一个站点编写一些测试,这需要一个 2 因素身份验证我被困在尝试生成与我的智能手机应用程序的 Google Authenticator 生成的相同类型的动态数字 cede用于手动输入。这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from pyotp import *
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, wait
from selenium.webdriver.common.by import By
import time
from flask import Flask
from flask_cors import CORS
import pymongo

class ChromeDriverMac():


    def test(self):
        # Instantiate Chrome Browser Command
        driver = webdriver.Chrome(executable_path="/Users/my_user_path/dev/python/drivers/chromedriver")
        # Open the provided URL
        driver.get("https://example.com/accounts/login")
        login_username = driver.find_element_by_id('username')
        login_username.clear()
        login_username.send_keys('my_login@mycompany.com')
        login_password = driver.find_element_by_id('password')
        login_password.clear()
        login_password.send_keys('my_password')
        login_submit_button = driver.find_element_by_xpath('//button[contains(text(),"Log In")]')
        login_submit_button.click()
        authField = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//input[@id='code']")))
        totp = TOTP(35080800)
        token = totp.now()
        print(token)
        time.sleep(15)
        # driver.close()

cc = ChromeDriverMac()
cc.test()

我意识到这两行完全是假的:

totp = TOTP(35080800)
token = totp.now()

我的问题是:如何在我的 Python 代码中生成与智能手机的 Google Authenticator 应用程序相同类型的 Google Authenticator 数字?

4

0 回答 0