当前位置:网站首页>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()
边栏推荐
猜你喜欢
随机推荐
mysql定义存储过程
win11安装deepin20.6双系统(双硬盘)
等保2.0一个中心三重防护指的是什么?如何理解?
神经网络有哪些激活函数,卷积神经网络有哪些
奥迪的极致高端属于一个大写的H?重塑时空,谁会是这个夜晚的主角?
烟雾、空气质量、温湿度…自己徒手做个环境检测设备
华为-坐标移动
R语言使用ggpubr包的ggbarplot函数可视化柱状图、设置add参数为mean_se和jitter可视化不同水平均值的柱状图并为柱状图添加误差线(se标准误差)和抖动数据点分布
nacos服务注册
Embedded Development: Embedded Basics - Mapping Peripherals Using Arrays of Pointers
神经网络如何提高准确率,神经网络的求解方式
shell中判断文件目录是否存在
v-show指令:切换元素的显示与隐藏
最新手机号码的正则
R语言使用oneway.test函数执行单因素方差分析(One-Way ANOVA)、使用数据集的子集数据进行单因素方差分析(subset函数筛选数据子集)
MySQL增加字段SQL语句
fastjson链分析(1.2.22-47)
Oracle Install [email protected] 7.6
kuangbin专题一 简单搜索
在Istio中,到底怎么获取 Envoy 访问日志?