Python +selenium 实现自动校园网页登录 (Firefox)

目的

通过分析页面,实现校园网自动输入账号密码,点击登录的操作

环境部署

  1. win10 Firefox 87 (64位) python 3.9

  2. 安装selenium

pip install selenium

  1. 安装driver for firefox
    firefox driver下载版本地址:
    https://github.com/mozilla/geckodriver/releases

分析页面

  1. 找到HTML页面的用户名输入元素,分析逻辑。
    image

  2. 寻找密码输入元素
    image

  3. 分析页面js逻辑
    发现js存在一个even来显示被隐藏的密码框

    image

    所以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()

演示视频

传送门

注意

本文仅发布在博客园,不允许转载,如果您在任何地方看见该文,纯属恶意盗用。

posted @ 2021-04-15 19:16    阅读(582)  评论(1编辑  收藏  举报