当前位置:网站首页>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()边栏推荐
猜你喜欢
随机推荐
promise笔记(三)
符合信创要求的堡垒机有哪些?支持哪些系统?
挑战用五行代码轻松集成登录系统,实现单点登录
PS2手柄通讯协议解析—附资料和源码「建议收藏」
Trie字典树
v-if指令:操作dom元素(标签)的显示与隐藏
深度学习培训二笔记
fastjson chain analysis (1.2.22-47)
百度、四维图新、高德争“鲜”恐后
产品-Axure9英文版,A页面内a1状态跳转B页面的b2状态,(条件跳转状态)
docker中安装mysql
雷达人体存在感应器,人体感知控制应用,为客户提供真实的感知方案
架构-三层架构:三层架构
Moonbeam于Moonbase Alpha构建新式XCM对EVM跨链功能
Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满?
redis分布式锁
「企业架构」企业架构师,解决方案架构师和软件架构师有何不同
百日刷题挑战--错题01day
数据库注入提权总结(二)
DASCTF2022.07赋能赛 WEB题目复现









