目的
通过分析页面,实现校园网自动输入账号密码,点击登录的操作
环境部署
-
win10
Firefox 87 (64位)
python 3.9
-
安装selenium
pip install selenium
- 安装driver for firefox
firefox driver下载版本地址:
https://github.com/mozilla/geckodriver/releases
分析页面
-
找到HTML页面的用户名输入元素,分析逻辑。
-
寻找密码输入元素
-
分析页面js逻辑
发现js存在一个even
来显示被隐藏的密码框所以selenium需要先实行逻辑代码要求的点击之前一个元素来触发显示#pwd的元素
实现逻辑代码
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium import webdriver
from time import sleep
driver= webdriver.Firefox()
driver.get("http://10.8.2.2")
driver.set_window_size(895, 739)
# 方案一 利用tab自动输入密码后跳转到密码框
# driver.find_element(By.ID, "username").send_keys("user", Keys.TAB,"passwd")
# 方案二 分析代码原理,点击元素后触发原来的js,显示出密码框,之前是隐藏的
driver.find_element(By.ID, "username").send_keys("user")
driver.find_element(By.ID, "pwd_tip").click()
driver.find_element(By.ID, "pwd").send_keys("passwd")
driver.find_element(By.ID, "selectDisname").click()
driver.find_element(By.ID, "_service_2").click()
driver.find_element(By.ID, "loginLink_div").click()
演示视频
注意
本文仅发布在博客园 Billyme 与CSDN horizen08,不允许转载,如果您在任何地方看见该文,纯属恶意盗用。