从0开始python学习-25.selenium 下拉框、滚动、警告框、设置cookie信息

复制代码
1. 下拉框操作:需要对选择框进行定位操作必须创建一个选择框对象进行使用,使用步骤:
    . 首先需要通过Select类创建select对象
    . 通过select对象去选中下拉框元素的具体内容
    . 通过索引(下标)选择
    . 通过文本内容选择
    . 通过value属性选择
2. 滚动操作: 通过JavaScript脚本去执行滚动操作
    . 首先定义一个滚动的js脚本
    . 然后执行脚本
3. 警告框操作
4. 设置cookie信息
python 复制代码
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome()

# 下拉、告警
url1 = "file:///D:/study/%E8%AF%BE%E5%A0%82%E8%B5%84%E6%96%99/14%E6%B3%A8%E5%86%8CA.html"
driver.get(url1)
# 滚动
# url2 = 'https://tieba.baidu.com/index.html'
# driver.get(url2)

driver.maximize_window ()

# 下拉框
# 选中需要下拉的元素
select = Select(driver.find_element(By.XPATH,'//*[@id="selectA"]'))
select.select_by_index(3) # 通过下标进行选择
sleep(2)
select.select_by_visible_text('A上海') # 通过文本内容进行选择
sleep(2)
select.select_by_value('gz') # 通过value属性进行选择

# 滚动
sleep(2)
# 先定义一个滚动的js脚本
js_str = "window.scrollTo(0,100000)"
# 然后调用js执行脚本方法:execute_script()
driver.execute_script(js_str)


# 告警框
# 获取警告框
driver.find_element(By.XPATH,'//*[@id="alerta"]').click()
# 切换到警告框
alert1 = driver.switch_to.alert
# 获取警告框的提示信息
print(alert1.text)
sleep(2)
# 通过确定方式关闭警告框
alert1.dismiss()
# 通过取消的方式关闭警告框
alert1.accept()
# 针对特殊特殊场景输入警告框可以直接通过警告框对象send_keys("密码")
alert1.send_keys("密码")

# 设置cookie信息
# 给页面添加cookie信息
driver.add_cookie(
{"name": "cookie", "value": "5uq8r6vsc1scn86jdvo352c333"}
)
sleep(2)
# 一定要进行页面刷新,因为要清除缓存
driver.refresh()

sleep(5)
# 关闭整个浏览器:quit()
driver.quit()
相关推荐
badhope4 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
码云数智-园园5 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
吴佳浩5 小时前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
C++ 老炮儿的技术栈5 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl5 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628885 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
IT猿手6 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
全栈凯哥6 小时前
18.Python中的导入类完全指南
python
AI科技星6 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian8866 小时前
Java进阶——IO 流
java·开发语言·python