Как войти в систему под учетной записью Wells Fargo, используя Selenium и Python - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь написать сценарии для загрузки соответствующих данных из моей учетной записи Wells Fargo, и использование Selenium в сценарии python кажется хорошим потенциальным решением.Однако, когда я пытаюсь войти в систему, меня перенаправляют на другой экран входа в систему, который продолжает перенаправлять на себя каждый раз, когда я пытаюсь войти снова.Как мне преодолеть это бесконечное перенаправление?

Самый простой способ воспроизвести это - запустить этот скрипт для открытия браузера селена Chrome:

import selenium
browser = selenium.webdriver.Chrome()
browser.get('https://www.wellsfargo.com/')

Затем вручную войти в систему.браузер это работает нормально.В браузере селена я получаю страницу перенаправления.

У кого-то еще такая же проблема.Если есть способ сделать это с помощью Selenium, я был бы очень рад, но также был бы рад другим методам автоматизации загрузки данных из Wells Fargo.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Таким образом, дополнительная информация о том, после какого действия вы будете перенаправлены на другой экран входа в систему , помогла бы нам лучше отладить вашу проблему.Однако, чтобы войти в свою учетную запись wellsfargo , вам нужно вызвать WebDriverWait для нужного element_to_be_clickable(), и вы можете использовать следующее решение:

  • Блок кода:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    options = webdriver.ChromeOptions() 
    options.add_argument("start-maximized")
    options.add_argument("--disable-extensions")
    # options.add_argument('disable-infobars')
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get('https://www.wellsfargo.com/')
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.formElement.formElementText#userid"))).send_keys("BenLindsay")
    driver.find_element_by_css_selector("input.formElement.formElementPassword#password").send_keys("BenLindsay")
    driver.find_element_by_css_selector("input#btnSignon[name='btnSignon']").click()
    
  • Снимок браузера:

wellsfargo

0 голосов
/ 15 апреля 2019

Попробуйте этот код:

from selenium.webdriver import Chrome

browser = Chrome()
browser.get('https://wellsfargo.com')

#GET user element and POST username to element
user = browser.find_element_by_id('userid')
user.send_keys('USERNAME')

#GET user element and POST password to element
passwd = browser.find_element_by_id('password')
passwd.send_keys('PASSWORD')
passwd.submit()

Вы должны быть авторизованы и перенаправлены на страницу аккаунта. Пожалуйста, расскажите мне, как это работает для вас. Поскольку я не являюсь клиентом банка, я не могу выйти за рамки этого. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...