-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathget_wifi_password.py
executable file
·111 lines (85 loc) · 3.34 KB
/
get_wifi_password.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/env python
__author__ = 'mengwliu'
import os
import sys
import getopt
from smtplib import SMTP_SSL as smtp
from smtplib import SMTPException
from email.mime.text import MIMEText
import selenium
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# This script is to automatically get WIFI password for clear-guest
def get_driver():
desired_capabilities = dict(selenium.webdriver.DesiredCapabilities.PHANTOMJS)
desired_capabilities["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36")
desired_capabilities["phantomjs.page.settings.Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
driver = selenium.webdriver.PhantomJS(desired_capabilities=desired_capabilities)
return driver
def sign_in(driver, username, password):
username_input = driver.find_element_by_id("sso_username")
password_input = driver.find_element_by_id("ssopassword")
username_input.send_keys(username)
password_input.send_keys(password)
print ("Sign in with username and password.")
elem = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CLASS_NAME, "submit_btn"))
)
elem.click()
def main(argv):
https_proxy = os.environ['https_proxy']
http_proxy = os.environ['http_proxy']
del os.environ['https_proxy']
del os.environ['http_proxy']
try:
opts, args = getopt.getopt(argv, "hu:p:",["user=","pass="])
except getopt.GetoptError:
print 'get_wifi_password.py -u <username> -p <password>'
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print 'get_wifi_password.py -u <username> -p <password>'
sys.exit()
elif opt in ("-u", "--user"):
username = arg
elif opt in ("-p", "--pass"):
password = arg
driver = get_driver()
url = "https://gmp.oracle.com/captcha/"
driver.get(url)
sign_in(driver, username, password)
america_btn = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "ext-gen18"))
)
america_btn.click()
password_text = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "ext-gen38"))
)
text = password_text.text
driver.quit()
for line in text.split("\n"):
if "Password" in line:
mima = line.split(" ")[1]
print mima
receivers = ["Sha Bi No.1 <[email protected]>", "Chao Shuai <[email protected]>"]
#receivers = ["Mengwei Liu <[email protected]>"]
sender = 'Larry Liu <[email protected]>'
try:
conn = smtp('stbeehive.oracle.com')
conn.login(username, password)
msg = MIMEText(mima)
msg['Subject'] = "clear-guest mima"
msg['From'] = sender
msg['To'] = ",".join(receivers)
conn.sendmail(sender, receivers, msg.as_string())
print "Successfully sent email"
except SMTPException as e:
print e.message
print "Error: unable to send email"
finally:
conn.close()
os.environ['https_proxy'] = https_proxy
os.environ['http_proxy'] = http_proxy
if __name__ == "__main__":
main(sys.argv[1:])