|
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
import smtplib
from email.mime.text import MIMEText
CHROMEDRIVER_PATH = r"C:\Chromedriver\chromedriver.exe"
LOGIN_ADDRESS = "example@gmail.com"
LOGIN_PASSWORD = "exAm!E"
MAIL_FROM = LOGIN_ADDRESS
MAIL_TO = LOGIN_ADDRESS
MAIL_PASSWORD = "exxamplee"
MAIL_SUBJECT = "Oculus Order Status"
def get_oculus_order_status(path, addr, passwd):
driver = webdriver.Chrome(path)
try:
driver.get("https://shop.oculus.com/en-us/history-login/")
el_email = WebDriverWait(driver, 100).until(
EC.presence_of_element_located((By.NAME, "email"))
)
el_password = WebDriverWait(driver, 100).until(
EC.presence_of_element_located((By.NAME, "password"))
)
el_login = WebDriverWait(driver, 100).until(
EC.presence_of_element_located((By.NAME, "login"))
)
el_email.send_keys(addr)
el_password.send_keys(passwd)
el_login.click()
el_section = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "op-accordion"))
)
el_section.click()
el_status = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "op-order-history__order-status"))
)
el_numbers = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "op-order-history__order-numbers"))
)
return el_status.text + "\n" + el_numbers.text
finally:
driver.close()
driver.quit()
def send_mail_by_gmail(ml_from, ml_to, passwd, sub, body):
msg = MIMEText(body)
msg['Subject'] = sub
msg['From'] = ml_from
msg['To'] = ml_to
smtp = smtplib.SMTP("smtp.gmail.com", 587)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login(ml_from, passwd)
smtp.sendmail(ml_from, ml_to, msg.as_string())
smtp.close()
if __name__ == '__main__':
status = get_oculus_order_status(CHROMEDRIVER_PATH, LOGIN_ADDRESS, LOGIN_PASSWORD)
send_mail_by_gmail(MAIL_FROM, MAIL_TO, MAIL_PASSWORD, MAIL_SUBJECT, status)
|