Я немного изменил ваш код и попытался войти в систему следующим образом:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
options = webdriver.ChromeOptions()
options.add_argument('start-maximized')
options.add_argument('disable-infobars')
options.add_argument('--disable-extensions')
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get("https://login.onlinebanking.suntrust.com/olb/login")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.suntrust-input-text.ng-pristine.ng-valid.ng-touched#userId"))).send_keys("username")
driver.find_element_by_css_selector("input.suntrust-input-text.ng-untouched.ng-pristine.ng-valid#password").send_keys("password")
driver.find_element_by_css_selector("button.suntrust-sign-on.suntrust-button-text>span").click()
Но все еще не смог войти.
Теперь при проверке DOM Tree из SUNTRUST - Вход в систему онлайн-банкинга На странице входа вы найдете следующие теги в теге <body>
:
<script type="text/javascript" src="dist/runtime.7d6aba6a1596ee0b757c.js"></script>
<script type="text/javascript" src="dist/polyfills.65913a8531010587b6fe.js"></script>
<script type="text/javascript" src="dist/scripts.46e57c2d57ad1b3d210d.js"></script>
<script type="text/javascript" src="dist/vendor.43f2240dc35276d98b10.js"></script>
<script type="text/javascript" src="dist/main.5d227767baa37ef78819.js"></script>
Снимок
Наличие фразы dist является четким свидетельством того, что сайт защищен Bot Management поставщиком услуг Distil Networks и навигация по ChromeDriver обнаруживается и впоследствии блокируется .
Distil
Согласно статье Distil.it действительно что-то есть ... :
Distil защищает сайты от автоматических ботов, проверяющих поведение сайта, отслеживая поведение сайтов и выявляя закономерности peculiaг на скребки.Когда Distil идентифицирует вредоносного бота на одном сайте, он создает черный профиль поведения, который развертывается для всех его клиентов.Что-то вроде брандмауэра бота, Distil обнаруживает шаблоны и реагирует.
Далее,
"One pattern with **Selenium** was automating the theft of Web content"
, сказал генеральный директор Distil Рами Эссейд в интервью на прошлой неделе."Even though they can create new bots, we figured out a way to identify Selenium the a tool they're using, so we're blocking Selenium no matter how many times they iterate on that bot. We're doing that now with Python and a lot of different technologies. Once we see a pattern emerge from one type of bot, then we work to reverse engineer the technology they use and identify it as malicious".
Ссылка
Вы можете найти пару соответствующих обсуждений в: