Selenium教程:级联选择+日期框+弹框,组件的示例练习

1.Cascader级联选择,通常指的是在多个层级或类别中进行选择,每个层级或类别的选择依赖于前一个层级或类别的选择结果。常用于省市区、公司级层、事务分类等。

网页元素结构
在这里插入图片描述
实现代码

# @Author : 小红牛
# 微信公众号:WdPython
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://iviewui.com/view-ui-plus/component/form/cascader')
driver.find_element(By.XPATH, '//input[@class="ivu-input ivu-input-default"]').click()
# 找到li标签下,包含北京和故宫的关键字
driver.find_element(By.XPATH, '//li[contains(text(),"北京")]').click()
driver.find_element(By.XPATH, '//li[contains(text(),"故宫")]').click()sleep(5)
driver.quit()

2.日期框的用法,通过观察网页结构,可以直接根据input标签中class属性,用driver.find_elements定位所有的日期框。然后下标索引[ ]取出需要的位置。

实现代码

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://iviewui.com/view-ui-plus/component/form/date-picker')
# 1.定位元素
date_input = driver.find_elements(By.XPATH, '//input[@class="ivu-input ivu-input-default ivu-input-with-suffix"]')
date_input[0].click()
# 2.输入一个时间
date_input[0].send_keys('2023-12-31')
sleep(2)
# 3.输入时间范围
date_input[1].click()
date_input[1].send_keys('2023-12-01 - 2023-12-31')
sleep(5)
driver.quit()

3.弹出框的示例用法,1、为什么要处理弹出框?一旦出现弹出框,如果不进行处理,则后续操作不可实现。
3.2.弹窗分类: 系统弹窗:JS实现,自定义弹窗:前端代码封装。
3.3.对话框的分类:alert:警告框+ confirm:确认框 + prompt:提示框。

3.4.弹窗只有确定按钮的处理方式
在这里插入图片描述

# @Author : 小红牛
# 微信公众号:WdPython
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://sahitest.com/demo/alertTest.htm')
driver.find_element(By.NAME, 'b1').click()
# 显示弹框上的文字内容
print(driver.switch_to.alert.text)
# Alert Message
sleep(2)
# 点击确定
driver.switch_to.alert.accept()
sleep(5)
driver.quit()

3.5.弹窗有取消+确定按钮的处理方式
在这里插入图片描述

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://sahitest.com/demo/confirmTest.htm')
driver.find_element(By.NAME, 'b1').click()
# 1.显示弹框上的文字内容
print(driver.switch_to.alert.text)
# Alert Message
sleep(2)
# 2.点击确定
# driver.switch_to.alert.accept()
# 3.点击取消
driver.switch_to.alert.dismiss()
sleep(5)
driver.quit()

3.6.弹窗为输入框样式,先输入内容,再点确定按钮。
在这里插入图片描述

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://sahitest.com/demo/promptTest.htm')
driver.find_element(By.NAME, 'b1').click()
# 1.显示弹框上的文字内容
print(driver.switch_to.alert.text)
# Some prompt?
sleep(2)
# 2.输入内容
driver.switch_to.alert.send_keys('我是李白')
sleep(2)
# 3.点击确定
driver.switch_to.alert.accept()
sleep(5)
driver.quit()

完毕!!感谢您的收看

----------★★历史博文集合★★----------
我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

消费可靠性投递-confirm确认模式

package com.java1234.producer.config;import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class RabbitMQConfig {/*** direct交换机名称*/p…

KY23 最小花费 DP

DP&#xff0c;比较恼的是题中没说明a、b的范围&#xff0c;不敢轻易用双循环 添加链接描述 #include<bits/stdc.h>using namespace std;#define ll long longconst int INF 1e9 10;int l1, l2, l3, c1, c2, c3, a, b, n;int pri(int d){if(d < l1) return c1;else…

ROS-urdf集成gazebo

文章目录 一、URDF与Gazebo基本集成流程二、URDF集成Gazebo相关设置三、URDF集成Gazebo实操四、Gazebo仿真环境搭建 一、URDF与Gazebo基本集成流程 1.创建功能包 创建新功能包&#xff0c;导入依赖包: urdf、xacro、gazebo_ros、gazebo_ros_control、gazebo_plugins 2.编写URD…

HTML5 Video(视频)

视频格式与浏览器的支持 当前&#xff0c; <video> 元素支持三种视频格式&#xff1a; MP4, WebM, 和 Ogg: 浏览器MP4WebMOggInternet ExplorerYESNONOChromeYESYESYESFirefoxYESYESYESSafariYESNONOOperaYES (从 Opera 25 起)YESYES MP4 带有 H.264 视频编码和 AAC …

HarmonyOS状态管理概述

状态管理概述 在前文的描述中&#xff0c;我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面&#xff0c;就需要引入“状态”的概念。 图1 效果图 上面的示例中&#xff0c;用户与应用程序的交互触发了文本状态变更&#xff0c;状态变更引起了UI渲染&…

C#实现个人账本管理系统

git地址&#xff1a;https://gitee.com/myshort-term/personal-ledger-management-system 1.系统简介 LedgerManagementSystem是一个小型的个人账本管理系统&#xff0c;可对收支项目进行增加、删除、修改、查询以及导入和导出。可对每日的各类收支项目进行汇总并查看和修改收…

STM32 基础知识(探索者开发板)--146讲 IIC

IIC特点&#xff1a; 同步串行半双工通信总线 IIC有一个弱上拉电阻&#xff0c;在主机和从机都没有传输数据下拉时&#xff0c;总线会自动上拉 SCL在低电平期间&#xff0c;改变SDA的值来上传数据&#xff0c;方便SCL电平上升时进行数据读取 SCL在高电平期间&#xff0c;不能…

【蓝桥杯软件赛 零基础备赛20周】第7周——二叉树

文章目录 1 二叉树概念2 二叉树的存储和编码2.1 二叉树的存储方法2.2 二叉树存储的编码实现2.3 二叉树的极简存储方法 3 例题4 习题 前面介绍的数据结构数组、队列、栈&#xff0c;都是线性的&#xff0c;它们存储数据的方式是把相同类型的数据按顺序一个接一个串在一起。简单的…

[Flutter]WindowsPlatform上运行遇到的问题总结

目录 写在开头 正文 Q1、file_version_info.dart Q2、flutter clean &#xff0c;无法删除build文件夹 其他 写在结尾 写在开头 Flutter项目已能在移动端完美使用后&#xff0c;想看看在桌面端等使用情况 基于Flutter3.0后已支持Windows/MacOS/Web等桌面端&#xff0c;不…

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使用…

剑指offer面试题3 二维数组中的查找

考察点&#xff1a; 考察数据结构二维数组知识点&#xff1a; 1.java中的数据类型分为基本类型和引用类型&#xff0c;数组属于引用类型&#xff0c;引用类型的变量中存储的是地址&#xff0c;该地址指向内存中的某个对象&#xff0c;参考c中的指针。2.一维数组定义&#xff0c…

flutter中枚举的使用

枚举支持成员属性、实现和定义方法&#xff0c;使用时需要注意的地方&#xff1a; 枚举的所有实例都必须在声明的开头声明&#xff0c;并且必须至少声明一个实例最后一个枚举元素以 ; 结尾&#xff0c;其余的枚举元素以 ,结尾。枚举的构造函数 一定要是 const 构造枚举中的三个…

看直播怎么录屏?精选工具助你轻松录制!

随着网络直播平台的兴起&#xff0c;观看直播已经成为人们日常生活的一部分。然而&#xff0c;有时我们可能想要保存直播内容以便日后回顾或分享。可是看直播怎么录屏呢&#xff1f;在本文中&#xff0c;我们将介绍两种录制直播的方法&#xff0c;通过这些步骤&#xff0c;你可…

Verilog学习记录

目录 一、Verilog简介 &#xff08;一&#xff09;Verilog 的主要特性 &#xff08;二&#xff09;Verilog的主要应用 &#xff08;三&#xff09;Verilog设计方法 二、Verilog基础语法 &#xff08;一&#xff09;标识符和关键字 &#xff08;二&#xff09;Verilog数据…

内外网文件交换系统实用技巧揭秘:安全、效率、便捷一个不少

内外网文件交换系统是一种专门设计用于在企业内部网络&#xff08;内网&#xff09;与外部网络&#xff08;外网&#xff09;之间安全传输文件的技术解决方案。在企业环境中&#xff0c;出于安全考虑&#xff0c;内部网络通常与外部网络隔离&#xff0c;以防止未经授权的访问和…

shp文件与数据库(创建表)

前言 第三方库准备 shp文件是什么&#xff1f;笔者就不多做解释。后面将使用python的一些第三方库 1、sqlalchemy 2、pyshp 3、geoalchemy2 4、geopandas 这四个是主要的库&#xff0c;具体怎么使用可以参考相关教程&#xff0c;当然还有其他库&#xff0c;后面在介绍。…

信源编码与信道转移矩阵

目录 一. 信息论模型 二. 点对点通信模型 三. 信源编码 四. 信道转移矩阵 4.1 二进制对称信道 4.2 二进制擦除信道 五. 小结 &#xff08;1&#xff09;信道直射与反射 &#xff08;2&#xff09;信道散射 &#xff08;3&#xff09; 信道时变性 一. 信息论模型 194…

【AI视野·今日Robot 机器人论文速览 第七十一期】Fri, 5 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Fri, 5 Jan 2024 Totally 11 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Machine Learning in Robotic Ultrasound Imaging: Challenges and Perspectives Authors Yuan Bi, Zhongliang Jiang, Felix D…

redis可视化工具 RedisInsight

redis可视化工具 RedisInsight 1、RedisInsight是什么2、下载RedisInsight3、使用RedisInsight4、其他redsi可视化工具 1、RedisInsight是什么 RedisInsight 是一个用于管理和监控 Redis 数据库的图形用户界面&#xff08;GUI&#xff09;工具。它是由 Redis Labs 开发的&…