从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()
相关推荐
程序员小明z2 分钟前
基于Java的药店管理系统
java·开发语言·spring boot·毕业设计·毕设
取个名字真难呐7 分钟前
矩阵乘法实现获取第i行,第j列值,矩阵大小不变
python·线性代数·矩阵·numpy
dal118网工任子仪14 分钟前
web安全漏洞之ssrf入门
笔记·学习·计算机网络·网络安全
键盘敲没电25 分钟前
【iOS】知乎日报前三周总结
学习·ios·objective-c·xcode
技术仔QAQ26 分钟前
【tokenization分词】WordPiece, Byte-Pair Encoding(BPE), Byte-level BPE(BBPE)的原理和代码
人工智能·python·gpt·语言模型·自然语言处理·开源·nlp
Lyqfor34 分钟前
云原生学习
java·分布式·学习·阿里云·云原生
WangYaolove131435 分钟前
请解释Python中的装饰器是什么?如何使用它们?
linux·数据库·python
我是哈哈hh35 分钟前
HTML5和CSS3的进阶_HTML5和CSS3的新增特性
开发语言·前端·css·html·css3·html5·web
宋发元1 小时前
如何使用正则表达式验证域名
python·mysql·正则表达式
Dontla1 小时前
Rust泛型系统类型推导原理(Rust类型推导、泛型类型推导、泛型推导)为什么在某些情况必须手动添加泛型特征约束?(泛型trait约束)
开发语言·算法·rust