【Python】基于Selenium简单操作web界面

前言

​ 一般情况下我们在代码中操作web应用,都会使用协议,但当传输内容被加密,或出现其他状况时,会很难使用协议进行通信。

​ 这种时候我们就可以考虑直接操作Web UI 来达到同样的效果

准备

现在Selenium的操作其实更新了,和以前有不同

驱动器安装:

firefox 驱动安装网址:https://github.com/mozilla/geckodriver/releases

还有 chrome 的驱动器,请自行上网搜索(笔者用的是firefox)

驱动器使用方法

  1. 可以将驱动器所在的目录放入系统变量的 path 中
  2. 在代码中导入驱动器的绝对路径

推荐第一种方法,但是我这边用的是第二种方法,第一种方法在路径的地方无需传参

简单操作一手

from selenium import webdriver
from selenium.webdriver.common.by import By

# 创建驱动对象
driver = webdriver.Firefox(executable_path="D:/geckodriver/geckodriver.exe")

# 使用驱动器打开网页
driver.get(url="http://localhost:8081/note/login.jsp") # 本地搭建的一个登陆网站

# 接下去以找ID为例,进行操作
# 找到 input 框
driver.find_element(By.ID, "uname").send_keys("admin") # send_keys 填入数据 By.ID意思是通过ID选择器,还有很多其他选择方法,请自行探索
driver.find_element(By.ID, "upwd").send_keys("admin")
driver.find_element(By.ID, "loginBtn").click() # click() 单击(指单击按钮)

# 关闭资源
driver.close()

# 这样就完成了一波简单的自动登录

# 一些常用操作
driver.back() # 网页回退
driver.forward() # 网页前进
driver.add_cookie() # 添加cookies
driver.maximize_window() # 最大化UI窗口

driver.page_source # 网页源代码
driver.current_url # 当前网页的url

# ...还有几个方法和属性自己查咯
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
登录网站验证码的生成与识别系统是一个使用Python和Django框架开发的项目,旨在为网站提供安全的用户验证过程。该系统主要包括两个部分:一是服务器端用于生成验证码图片的逻辑,二是客户端(通常包括后端处理和前端展示)用于显示验证码给用户并识别用户输入的验证码是否正确。 主要功能和特点如下: 1. 验证码生成:服务器端能够动态生成包含随机字符(数字、字母或符号)的验证码图片。 2. 图片渲染:将生成的验证码字符以扭曲、旋转、添加噪点等手段进行渲染,以防止自动化工具的识别。 3. 会话管理:在用户会话期间存储正确的验证码答案,并在用户提交表单时进行核对。 4. 用户界面:为用户提供一个友好的界面来输入他们看到的验证码,并反馈验证结果。 5. 机器学习集成:利用机器学习技术对用户输入的验证码进行自动识别,提高用户体验,减少手动输入错误。 6. 安全性:确保系统生成的验证码难以被机器人程序猜测或识别,增强网站安全。 7. 兼容性:确保验证码在不同设备和浏览器上的一致性和可用性。 技术栈可能包括: - Python编程语言:负责后端逻辑和数据处理。 - Django框架:快速搭建Web应用和管理路由、模板、模型等。 - Pillow库或其他图像处理库:用于生成和处理验证码图片。 - TensorFlow或PyTorch等机器学习库:如果涉及到复杂的验证码识别可能会用到。 - 前端技术:HTML, CSS, JavaScript以及可能的前端框架(如Vue.js)用于创建用户界面。 - 数据库:存储用户信息、会话数据和验证码答案等。 部署方式可能包括: - 本地部署:在本地服务器上配置Django环境运行系统。 - 云服务部署:通过云平台提供的服务进行托管,确保系统的高可用性和可伸缩性。 该系统为网站提供了一个额外的安全层,帮助网站防止恶意登录尝试和自动化脚本攻击,同时也保证了合法用户的顺畅体验。通过结合传统的图像处理技术和先进的机器学习算法,该系统可以有效地平衡安全性和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值