首页 > 解决方案 > 在 Python 中使用 Selenium,有没有办法在登录在线帐户时使 webdriver/浏览器成为“可识别的设备”?

问题描述

我正在尝试使用 Selenium 制作一个 Python 程序,该程序将打开一个浏览器,登录到我的信用合作社帐户,然后将交易复制到电子表格中,以便我进一步操作。

当我从新设备登录我的帐户时,需要通过向我的手机或电子邮件发送代码来进一步识别。

安全登录 1 安全登录 2

我可以运行我的脚本并手动处理额外的验证,但即使我选择将浏览器注册为受信任的设备,每次运行脚本时它总是要求进行额外的验证。

我以为我可以让它向我的电子邮件发送代码,然后获取电子邮件,然后输入代码,但这似乎比必要的复杂。

有没有办法成功注册 Selenium 运行的浏览器?

也许浏览器中有一些 ID 可用于网站注册设备,而 Selenium 每次都使用一个新 ID?

任何帮助深表感谢。

到目前为止,这是我的代码,我知道它现在非常基本:(用 Python 3.8 编写)

from selenium import webdriver
import time

#Open Chrome Browser
browser = webdriver.Chrome(r'path to my driver...\chromedriver.exe')

#Navigate to CU
browser.get("CU's Website")

#Let website load, not sure if this is necessary or not
time.sleep(3)

#Get Paths for Input Fields (Is there a way to hardocde these paths? Does it matter?)
field_user = browser.find_element_by_css_selector("#userid")
field_password = browser.find_element_by_css_selector("#password")
field_enter = browser.find_element_by_css_selector("#LoginForm > input[type=image]:nth-child(8)")


#Enter Username
field_user.send_keys('My username')

#Enter Password (What is a good/secure way to store password here?
field_password.send_keys('My password')

#Submit Credentials
field_enter.click()

标签: pythonpython-3.xseleniumselenium-webdriverselenium-chromedriver

解决方案


推荐阅读