在实习期间有时会整理学校实验室材料,这就需要远程链接(VPN或者Team),通常使用VPN相对稳定。但是学校网络偶尔会断开,所以还需要打电话让别人帮忙登陆,觉着十分麻烦别人,就自己写了一个脚本,每天任务启动运行。
下面就是代码:
# -*- coding: UTF-8 -*-
//导入需要的通信包。
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys #需要引入keys包
import socket
//定义登陆方法
def login():
try:
url = 'http://lan.upc.edu.cn/eportal/index.jsp?wlanuserip=180.201.150.144&wlanacname=&nasip=172.22.242.21&wlanparameter=18-66-da-e4-f2-6e&url=http://www.upc.edu.cn/&userlocation=ethtrunk/62:1479.0' # url中指明登录地址
//选择需要的浏览器,这里选择谷歌浏览器
driver = webdriver.Chrome()
driver.get(url)
# print driver.title
//根据网页属性填写对应的信息
name_input = driver.find_element_by_id('username') # 找到用户名的框框
pass_input = driver.find_element_by_id('pwd') # 找到输入密码的框框
carrier_input = driver.find_element_by_id('bch_service_3') # 找到输入运营商的框框
login_button = driver.find_element_by_id('loginLink') # 找到登录按钮
name_input.send_keys('Z17070650') # 填写用户名
time.sleep(0.2)
name_input.send_keys(Keys.TAB)
pass_input.send_keys('257870')# 填写密码
time.sleep(0.2)
pass_input.send_keys(Keys.TAB)
carrier_input.click() # 填写运营商
time.sleep(0.2)
login_button.click() # 点击登录
time.sleep(0.2)
print (driver.get_cookies())
time.sleep(2)
print (driver.title)
driver.close()
except:
driver.close()
#循环判断
def isNetOK(testserver):
s=socket.socket()
s.settimeout(3)
try:
status = s.connect_ex(testserver)
if status == 0:
s.close()
return True
else:
return False
except Exception as e:
return False
def isNetBaiduOK(testserver=('www.baidu.com',443)):
isOK = isNetOK(testserver)
return isOK
#程序入口
if __name__ == "__main__":
while isNetBaiduOK() == False:
login()