web自动化:下拉选择框、弹出框、滚动条的操作
一、下拉选择框
1、导包
from selenium.webdriver.support.select inport Select
2、实例化对象
Select(element)
3、常用方法
- 通过option索引来定位,从0开始:select_by_index(index)
- 通过option属性value值来定位:select_by_value(value)
- 通过option显示的文本来定位:select_by_visible_text(text)
from time import sleep
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
url = "file:///D:/zlx/web/select.html"
driver.get(url)
driver.maximize_window()
# 获取select对象
element = driver.find_element(By.ID, "mySelect")
select = Select(element)
# 通过option索引来定位
select.select_by_index(3)
sleep(2)
# 通过option属性valur定位
select.select_by_value("8")
sleep(2)
# 通过option显示的文本定位
select.select_by_visible_text("7")
sleep(2)
driver.quit()
二、弹出框
弹出框不处理的话,后续操作将不生效
1、常见弹出框
- alert:警告框
- confirm:确认框
- prompt:提示框
2、获取弹出框对象
driver.switch_to_alert
3、常用方法
- 获取文本框内容:alert.text
- 接受对话框选项:alert.accept()
- 取消对话框选项:alert.dismiss()
from time import sleep
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
url = "file:///D:/zlx/web/alert.html"
driver.get(url)
driver.maximize_window()
driver.find_element(By.ID, "myButton1").click()
# alert
alert = driver.switch_to.alert
sleep(2)
# 获取alert框文本信息
print(alert.text)
# 同意
alert.accept()
sleep(2)
# confirm
driver.find_element(By.ID, "myButton2").click()
sleep(2)
confirm = driver.switch_to.alert
print(confirm.text)
# alert.accept()
alert.dismiss()
sleep(2)
driver.quit()
三、滚动条
滚动条需要使用selenium调用执行javascript
1、设置javascript脚本控制滚动条
js = “window.scrollTo(0, 1000)”,其中0表示左边距、1000表示右边距
2、selenium调用执行javascript脚本
driver.execute_script(js)
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
url = "https://www.baidu.com"
driver.get(url)
driver.set_window_size(300, 300)
sleep(2)
# 滚动到最底部
js1 = "window.scrollTo(0,10000)"
driver.execute_script(js1)
sleep(2)
# 滚动到最顶端
js2 = "window.scrollTo(0,0)"
driver.execute_script(js2)
sleep(2)
driver.quit()