Python:自动化网站帐户登录和提取每次登录尝试信息的最佳方法?

Python:自动化网站帐户登录和提取每次登录尝试信息的最佳方法?,python,selenium,automation,screen-scraping,Python,Selenium,Automation,Screen Scraping,我想知道是否有人可以推荐在Python 3.5中执行此操作的最佳过程: 我有250套用户名和密码 我必须为每个帐户登录一个特定的网站(大约250次),并获取他们的帐户信息 我见过一些例子,但通常只有一次登录尝试。但是对于多次登录又如何呢 import requests import pandas as pd from selenium import webdriver from selenium.webdriver.common.keys import Keys from bs4 import

我想知道是否有人可以推荐在Python 3.5中执行此操作的最佳过程:

我有250套用户名和密码 我必须为每个帐户登录一个特定的网站(大约250次),并获取他们的帐户信息

我见过一些例子,但通常只有一次登录尝试。但是对于多次登录又如何呢

import requests
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup


# read accounts information from spreadsheet
data = pd.read_csv("HWIN Accounts.csv")
data.dropna()

# Parameters to be called
url = 'https://www.hwin.ca/hwin/login.jsp'
USERNAME = data['Username']
PASSWORD = data['Password']
data = []
data2 = []

# Find Outstanding Payments Due on Payment Tab
def find_payment(html):
    soup = BeautifulSoup(html)
    table = soup.find("td", {"class": "success"}, text=True)
    data2.append(table.text)

# Find Account Status
def find_account_status(htmls):
    soup = BeautifulSoup(htmls)
    table = soup.find('table', border="0", cellpadding="2")
    table_body = table.find('tbody')
    rows = table_body.find_all('tr')
    for row in rows:
        cols = row.find_all('td')
        cols = [ele.text.strip() for ele in cols]
        data.append([ele for ele in cols if ele])

# Sign into HWIN looping through each individual account
for i in range(len(USERNAME)):
    browser = webdriver.Firefox()
    browser.get(url)
# Input Login information into form
    username = browser.find_element_by_name("userName")
    username.send_keys(USERNAME[i])
    password = browser.find_element_by_name("password")
    password.send_keys(PASSWORD[i])
    form = browser.find_element_by_name("imageField")
    form.submit()
# Navigate to Account Status Tab
    browser.find_element_by_link_text("Account status").click()
# Extract Account Status Tab
    htmls = browser.page_source
    find_account_status(htmls)
# Navigate to Payments Tab
    browser.find_element_by_name("payments").click()
# Extract Payment data
    html = browser.page_source
    find_payment(html)
# Close Browser
    browser.quit()

print(data)
print(data2)

为循环一次怎么样?除了为循环一次
,您的脚本应该在每次迭代中正确登录、刮取数据,然后注销。很有可能会有一个可以编写脚本的UI元素。是否有一个特定的问题让你绞尽脑汁,或者你无法让它工作?您在提取用户名和密码数据时遇到问题吗?您在注销时遇到问题吗?你的for循环超时了吗?所以我编写了一些代码,并在我的原始帖子中发布了它。我感到困惑的部分是如何区分不同帐户之间的输出。