python - 如何使用 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 进行新登录,是否可以第一次存储登录会话?因此,即使我转到网站上的新页面,它也是持久的。
解决方案
请查看他们的官方文档:https ://www.selenium.dev/documentation/en/worst_practices/two_factor_authentication/
它建议您禁用它,或者您是否可以使用其他应该有效的方法登录。
推荐阅读
- php - Guzzle 请求:发布正文数据
- alamofire - swift 5中的Alamofire请求
- php - mysqli_prepare() 拒绝查询并失败
- angular - 值 getDay 不是函数 Typescript Angular
- reactjs - 如何创建水平网格
- r - 基于交易数据集中现有列的新列变量“count”
- sbt - sbt 严格模式下的奇怪版本冲突
- vue.js - Vue2 Leaflet 地图被底部导航和应用栏重叠
- postgresql - 连接使用 docker 运行的 pgbouncer 和 postgres
- azure - 无法部署 Microsoft Bot