当前位置:网站首页>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()
边栏推荐
猜你喜欢
随机推荐
R语言创建列表数据(list):根据名称索引列表元素、双方括号访问单个元素、单方括号访问子列表
LeetCode 0640.求解方程:过几天就看不懂了的迷惑性代码,但是是详解
mysql定义存储过程
Oracle Install [email protected] 7.6
奥迪的极致高端属于一个大写的H?重塑时空,谁会是这个夜晚的主角?
R语言ggplot2可视化:使用ggpubr包的ggscatter函数可视化分组散点图、stat_mean函数在分组数据点外侧绘制凸包并突出显示分组均值点、自定会均值点的大小以及透明度
vvic API 接入说明
程序员兼职踩到的坑,本人亲身经历
fastjson链分析(1.2.22-47)
Error creating bean with name ‘sqlSessionFactory‘ defined in class path reso「建议收藏」
promise笔记(四)
docker中安装mysql
R语言检验时间序列的平稳性:使用fUnitRoots包中的adfTest函数检验时间序列数据是否具有平稳性(设置参数type为nc时、既不去除趋势也不进行中心化处理)
重庆新壹汽与一汽集团达成新能源项目战略合作,赋能“碳中和”创造“碳财富”
Alluxio on Amazon EMR 集成实践
ahx文件转mav文件 工具分享及说明
CAS客户端对接
R语言拟合ARIMA模型:使用forecast包中的auto.arima函数自动搜索最佳参数组合、模型阶数(p,d,q)、如果已知阶数则直接使用arima函数构建模型(order参数指定阶数)
本周四晚19:00知识赋能第六期第5课丨OpenHarmony WiFi子系统
强网杯2021final