Files
RTG/scrapper/webistes/identity_iq_old/user_validation.py
2026-06-19 20:08:01 +06:00

77 lines
3.3 KiB
Python

from selenium import webdriver
from selenium.common.exceptions import TimeoutException, NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.wait import WebDriverWait
def user_validation(email, password, ssn):
try:
url = "https://member.identityiq.com/"
chrome_path = "/usr/lib/chromium-browser/chromedriver"
#chrome_local_path = "D:\\scrapper\\chromedriver_win32\\chromedriver.exe"
chrome_local_path = "D:\\scrapper\\chromedriver_win64\\chromedriver.exe"
option = webdriver.ChromeOptions()
option.add_argument('--headless')
option.add_argument('--no-sandbox')
option.add_argument('--disable-dev-sh-usage')
#driver = webdriver.Chrome(chrome_path,options=option)
driver = webdriver.Chrome(chrome_local_path,options=option)
#phantomjs_server_path = "/usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs"
phantomjs_local_path = "D:\\scrapper\\phantomjs-2.1.1-windows\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe"
#driver = webdriver.PhantomJS(executable_path= phantomjs_server_path,service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
#driver = webdriver.PhantomJS(executable_path= phantomjs_local_path,service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
driver.get(url + 'login.aspx')
driver.find_element_by_name('txtUsername').send_keys(email)
driver.find_element_by_name('txtPassword').send_keys(password)
driver.find_element_by_id("imgBtnLogin").click()
timeout = 10
try:
wait = WebDriverWait(driver, timeout)
WebDriverWait(driver, timeout).until(
ec.url_to_be(url + 'SecurityQuestions.aspx') or ec.url_to_be(url + 'Dashboard.aspx')
)
wait.until(
lambda driver: driver.current_url != (url + 'SecurityQuestions.aspx') or (url + 'Dashboard.aspx')
)
if driver.current_url == url + 'SecurityQuestions.aspx':
element_present = ec.presence_of_element_located(
(By.NAME, 'FBfbforcechangesecurityanswer$txtSecurityAnswer')
)
WebDriverWait(driver, timeout).until(element_present)
driver.find_element_by_name('FBfbforcechangesecurityanswer$txtSecurityAnswer').send_keys(ssn)
driver.find_element_by_id("FBfbforcechangesecurityanswer_ibtSubmit").click()
element_present = ec.presence_of_element_located((By.ID, 'hdnMemberID'))
WebDriverWait(driver, timeout).until(element_present)
if driver.current_url == url + 'Dashboard.aspx':
element_present = ec.presence_of_element_located((By.ID, 'Fbscore_divDt'))
WebDriverWait(driver, timeout).until(element_present)
try:
driver.find_element(By.ID, "Fbscore_ibtnRefresh").click()
except NoSuchElementException:
return "BUTTON_NOT_FOUND"
driver.quit()
return "DONE"
driver.quit()
return "ERROR"
except TimeoutException:
driver.quit()
return "TIME_OUT"
except Exception:
return "ERROR"