我正在尝试从我的 Vanguard 投资账户中自动刮取我的余额信息。我被困在尝试登录该帐户。
我已经尝试过请求和机械汤,但到目前为止我还无法弄清楚这一点。
import mechanicalsoup
USERNAME = "myuser"
PASSWORD = "mypass"
OWNER="myemail"
start_page = "https://personal.vanguard.com/us/hnwnesc/nesc/LoginPage"
balance_page = "my balancepage"
r = mechanicalsoup.StatefulBrowser()
r.addheaders = [
("User-agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv 1.0) %s" %
(OWNER)),
]
r.open(start_page)
r.select_form('LoginForm')
r['USER'] = USERNAME
r = br.submit()
r.select_form('LoginForm')
r['PASSWORD'] = PASSWORD
r = br.submit()
r = br.open(balance_page)
我期待登录并被定向到余额页面,以便自动抓取余额以放入数据框中。
编辑这里是使用 Selenium 的半工作更新
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("https://investor.vanguard.com/my-account/log-on")
user_button = driver.find_element_by_id('USER')
user_button.send_keys('UsErId')
password_button = driver.find_element_by_id('PASSWORD')
password_button.send_keys('P@$$W0rd')
button = driver.find_element_by_id('login')
button.click()