当前位置:网站首页>Selenium - 如何操作下拉框、弹出框、滚动条?
Selenium - 如何操作下拉框、弹出框、滚动条?
2022-08-10 17:20:00 【神即道 道法自然 如来】
一、下拉框
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
# 1. 获取浏览器
driver = webdriver.Chrome()
# 2. 打开浏览器 # 输入自己的url
driver.get("")
# # 点击广州(方法1)
# driver.find_element(By.CSS_SELECTOR, '[value="gz"]').click()
# sleep(2)
# driver.find_element(By.CSS_SELECTOR, '[value="sh"]').click()
# sleep(2)
# driver.find_element(By.CSS_SELECTOR, '[value="cq"]').click()
# 使用Select类来实现 (方法2)
# 1、定位下拉框元素 select
el = driver.find_element(By.CSS_SELECTOR, "#select")
# 2、实例化 Select对象(导包)
select = Select(el)
# 使用下标定位广州
select.select_by_index(2)
sleep(2)
# 使用value定位上海
select.select_by_value("sh")
# 使用文本定位 北京
sleep(2)
select.select_by_visible_text("北京")
# 4. 关闭浏览器
sleep(3)
driver.quit()
二、弹出框
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
# 1. 获取浏览器
driver = webdriver.Chrome()
# 2. 打开浏览器 # 输入自己的url
driver.get("")
# 3. 点击弹窗
driver.find_element(By.ID, "alerta").click()
sleep(2)
# 获取弹窗对象
el = driver.switch_to.alert
# 处理弹窗 同意/取消
# el.dismiss() # 取消
print("弹窗文本:", el.text)
el.accept() # 同意
# 4. 关闭浏览器
sleep(3)
driver.quit()
三、滚动条
from time import sleep
from selenium import webdriver
# 1. 获取浏览器
driver = webdriver.Chrome()
# 2. 打开浏览器 # 输入自己的url
driver.get("")
# 3. 设置窗口大小
driver.set_window_size(100, 500)
sleep(2)
# js -> 向下滚动
# js_down = "window.scrollTo(0, 10000)"
# 动态执行滑到底部,向下滑动滚动条高度 document.body.scrollHeight
js_down = "window.scrollTo(0, document.body.scrollHeight)"
# 执行js方法(0,10000)第一个0为水平滚动条
driver.execute_script(js_down)
sleep(2)
# js -> 向上滚动
js_top = "window.scrollTo(0,0)"
driver.execute_script(js_top)
# 4. 关闭浏览器
sleep(3)
driver.quit()
边栏推荐
- 中国芯片的营收首破万亿,优势凸显的成熟工艺产能将称霸全球
- 《安富莱嵌入式周报》第277期:业界首款Cortex-M55+Ethos-U55 NPU套件发布,20个墨水屏菊花链玩法,氙气灯镇流器设计
- 640. 求解方程
- Error creating bean with name ‘sqlSessionFactory‘ defined in class path reso「建议收藏」
- HTTP学习——协议与术语、HTTP、缓存、Cookie
- Pytorch GPU模型推理时间探讨2——显卡warm up
- 如何学习性能测试?
- aliexpress API 接入说明
- JWT 实现登录认证 + Token 自动续期方案
- R语言检验时间序列的平稳性:使用fUnitRoots包中的adfTest函数检验时间序列数据是否具有平稳性(设置参数type为nc时、既不去除趋势也不进行中心化处理)
猜你喜欢
随机推荐
事务的隔离级别,MySQL的默认隔离级别
最新手机号码的正则
深度学习培训二笔记
网易云信亮相LiveVideoStackCon2022,解构基于WebRTC的开源低延时播放器实践
MogDB学习笔记-从2开始(MogHA)
R语言检验时间序列的平稳性:使用fUnitRoots包中的adfTest函数检验时间序列数据是否具有平稳性(设置参数type为nc时、既不去除趋势也不进行中心化处理)
全新接口——邻家好货 API
华为-求int型正整数在内存中存储时1的个数
3 年 CRUD 从 8K 涨到 28K,谁知道这4个月我到底经历了什么?
如何构建一个自己的代理ip池
mysql包select结果无法同步的问题
R语言ggplot2可视化:使用ggpubr包的text_grob函数和as_ggplot函数可视化文本段落(将指定文本段落可视化出来、指定文本段可视化为图像)、face参数指定文本的字体样式
建筑施工员证怎么考?报名条件及报考时间是什么?
架构-三层架构:三层架构
leetcode:337. 打家劫舍 III
未来5年的9大技术趋势
R语言patchwork包将多个可视化结果组合起来、plot_annotation函数以及tag_level参数将组合图用大写字母进行顺序编码、为组合图的标签添加自定义后缀信息(suffix)
BalsnCTF2021
pytorch 模型GPU推理时间探讨3——正确计算模型推理时间
轮询以及webSocket与socket.io原理