首页 > 解决方案 > 如何使用 Selenium 和 Python 登录 2FA 网站、移动 BankID?

问题描述

是否可以使用 Selenium 登录到使用 2 因素身份验证方法的站点(例如银行的 bankID)?

driver = webdriver.Firefox(executable_path=r"C:\Program Files (x86)\geckodriver.exe")
# driver.implicitly_wait(2)
driver.maximize_window()

driver.get("theBankID-page")

try:
    personNumber = WebDriverWait(driver, 5).until(
        EC.presence_of_element_located((By.NAME, "personNumber")))

    personNumber.send_keys("personNumber")
    personNumber.send_keys(Keys.RETURN)

except TimeoutException:
    print("Failed to load BankID-page")

上面的代码使您可以使用例如您的手机作为输入密码的第二个因素手动登录该站点。

但是,如果我去一个新站点,并且当我转到该站点的新页面时,该站点请求使用 BankID 进行新登录,是否可以第一次存储登录会话?因此,即使我转到网站上的新页面,它也是持久的。

标签: pythonselenium

解决方案


请查看他们的官方文档:https ://www.selenium.dev/documentation/en/worst_practices/two_factor_authentication/

它建议您禁用它,或者您是否可以使用其他应该有效的方法登录。


推荐阅读