当前位置:网站首页>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()边栏推荐
猜你喜欢
随机推荐
JNDI and RMI, LDAP
重庆新壹汽与一汽集团达成新能源项目战略合作,赋能“碳中和”创造“碳财富”
浅析端口扫描原理
fastjson chain analysis (1.2.22-47)
【硬件架构的艺术】学习笔记(4)流水线的艺术
【图像分割】基于元胞自动机实现图像分割附matlab代码
v-if指令:操作dom元素(标签)的显示与隐藏
fastjson链分析(1.2.22-47)
Embedded Development: Embedded Basics - Mapping Peripherals Using Arrays of Pointers
注解和反射、持续
v-show指令:切换元素的显示与隐藏
Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满?
分类常用的神经网络模型,深度神经网络主要模型
Error creating bean with name ‘sqlSessionFactory‘ defined in class path reso「建议收藏」
如何构建一个自己的代理ip池
神经网络有哪些激活函数,卷积神经网络有哪些
shopee API 接入说明
aliexpress API 接入说明
【云原生| Docker】 部署 Django & mysql 项目
「软件架构」10种常见的软件架构模式









