zoukankan      html  css  js  c++  java
  • 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()
    

    演示视频

    传送门

    注意

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

  • 相关阅读:
    20145215《Java程序设计》第4周学习总结
    20145215《Java程序设计》第3周学习总结
    20145215《Java程序设计》第2周学习总结
    关于开源中国的代码托管
    问卷调查
    2019年12月29日 回怼老王
    cnblogs今天挂了
    感悟别人的感悟——写在2020年前一天
    心情随笔_20191231
    js事件冒泡和捕捉
  • 原文地址:https://www.cnblogs.com/billyme/p/14664052.html
Copyright © 2011-2022 走看看