import os import requests import tkinter.messageBox import execjs import time 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 def login666(): # check wifi cmd = 'netsh wlan show interfaces' out=os.popen(cmd) cmd_ret = out.read() wifi = '' if cmd_ret: data = cmd_ret.split('\n') if data: for x in data: if x.strip().startswith('SSID'): wifi = x[x.index(':')+1:].strip() print('----------'+wifi+'----------') if wifi or True: # if True: url='http://6.6.6.6/login.jsp' option = webdriver.ChromeOptions() # option.add_argument('disable-infobars') # option.add_argument('user-data-dir=C:\\python37\\profile') driver = webdriver.Chrome() driver.get(url) #try: button = webdriverwait(driver,10,1).until(EC.visibility_of_element_located((By.ID,'password_submitBtn'))) user = webdriverwait(driver,10,1).until(EC.visibility_of_element_located((By.ID,'password_name'))) pwd = webdriverwait(driver,10,1).until(EC.visibility_of_element_located((By.ID,'password_pwd'))) user.send_keys('abc') pwd.send_keys('bbb') # button.submit() button.click() #except: # print('get element error') #finally: driver.close() else: tkinter.messageBox.showinfo('info ','on find WIFI') if __name__ == '__main__': login666()
执行js
import execjs
jsfile = ''' function do_encrypt_rc4(src, passwd) { passwd = passwd + ''; var i, j = 0, a = 0, b = 0, c = 0, temp; var plen = passwd.length, size = src.length; var key = Array(256); //int var sBox = Array(256); //int var output = Array(size); //code of data for (i = 0; i < 256; i++) { key[i] = passwd.charCodeAt(i % plen); sBox[i] = i; } for (i = 0; i < 256; i++) { j = (j + sBox[i] + key[i]) % 256; temp = sBox[i]; sBox[i] = sBox[j]; sBox[j] = temp; } for (i = 0; i < size; i++) { a = (a + 1) % 256; b = (b + sBox[a]) % 256; temp = sBox[a]; sBox[a] = sBox[b]; sBox[b] = temp; c = (sBox[a] + sBox[b]) % 256; temp = src.charCodeAt(i) ^ sBox[c];//String.fromCharCode(src.charCodeAt(i) ^ sBox[c]); temp = temp.toString(16); if (temp.length === 1) { temp = '0' + temp; } else if (temp.length === 0) { temp = '00'; } output[i] = temp; } return output.join(''); } ''' TIMESTAMP=''' +(new Date()) + '' ''' USERNAME = 'abc' PASSWORD = 'def' def get_pass(pwd): ts = execjs.eval(TIMESTAMP) npwd = execjs.compile(jsfile).call('do_encrypt_rc4',pwd,ts) return ts,npwd
按钮提交
# 方法1:直接调用click()
a.click()
# 方法2:调用execute_script()
driver.execute_script("arguments[0].click();", a)
# 方法3:调用webdriver控制
webdriver.ActionChains(driver).move_to_element(a).click(a).perform()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。