查看原文
其他

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

作者一小红牛 我的Python教程 2024-01-14


Python,速成心法

敲代码,查资料,问度娘

练习,探索,总结,优化

★★★★★博文创作不易,我的博文不需要打赏,也不需要知识付费,可以白嫖学习编程小技巧。使用代码的过程中,如有疑问的地方,欢迎大家指正留言交流。喜欢的老铁可以多多点赞+收藏分享+置顶,小红牛在此表示感谢。★★★★★

Python爬虫教程30:Selenium网页元素,定位的8种方法!

Selenium自动化教程02:浏览器options配置及常用的操作方法

Selenium自动化教程04:鼠标+键盘网页的模拟操作

Selenium教程05:使用webdriver-manager自动下载浏览器驱动,再也不用担心driver版本的问题了

Selenium教程06:单选框+多选框+下拉框组件的示例练习

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

网页元素结构

实现代码

# @Author : 小红牛# 微信公众号:WdPythonfrom time import sleepfrom selenium import webdriverfrom selenium.webdriver.common.by import By
driver = 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 sleepfrom selenium import webdriverfrom selenium.webdriver.common.by import By
driver = 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 : 小红牛# 微信公众号:WdPythonfrom time import sleepfrom selenium import webdriverfrom selenium.webdriver.common.by import By
driver = 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 Messagesleep(2)# 点击确定driver.switch_to.alert.accept()sleep(5)driver.quit()
3.5.弹窗有取消+确定按钮的处理方式

from time import sleepfrom selenium import webdriverfrom selenium.webdriver.common.by import By
driver = 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 Messagesleep(2)# 2.点击确定# driver.switch_to.alert.accept()# 3.点击取消driver.switch_to.alert.dismiss()sleep(5)driver.quit()

3.6.弹窗为输入框样式,先输入内容,再点确定按钮。

from time import sleepfrom selenium import webdriverfrom selenium.webdriver.common.by import By
driver = 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入门篇  进阶篇  视频教程  Py安装

py项目  Python模块  Python爬虫   Json  

Xpath   正则表达式   Selenium  Etree  Css

Gui程序开发   Tkinter   Pyqt5  列表元组字典

数据可视化   matplotlib   词云图   Pyecharts

海龟画图   Pandas   Bug处理   电脑小知识

office自动化办公   编程工具   NumPy

继续滑动看下一个

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

作者一小红牛 我的Python教程
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存