1、背景
- 有些页面弹出框,如果不处理,就无法做后续操作
2、弹窗的分类
2.1 警告提示弹窗
- 【描述】:包含提示信息和【确认】按钮
- 【操作】:1、获取弹窗内容;2、进行“确认”操作
- 【语法实现】
-
- 1、获取弹窗内容:
driver.switch_to.alert.text
- 1、获取弹窗内容:
-
- 2、进行确认操作:
driver.switch_to.alert.accept()
- 2、进行确认操作:
- 【代码实现】
# 导包
from selenium import webdriver
from selenium.webdriver.common.by import By
# 导入鼠标操作的包
from selenium.webdriver.common.action_chains import ActionChains
# 导入显示元素等待的包
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# 定义一个谷歌浏览器对象
driver = webdriver.Chrome()
# 打开百度首页
driver.get('https://www.baidu.com')
# 定位到页面的“设置”元素,并使得光标悬浮在该元素上
element1 = driver.find_element(By.CSS_SELECTOR, '#s-usersetting-top')
ActionChains(driver).move_to_element(element1).perform()
# 点击“设置”元素下拉框中“搜索设置”链接
driver.find_element(By.LINK_TEXT, '搜索设置').click()
# 弹窗的弹出需要时间,元素等待是需要考虑的重要问题
# 显式等待元素方法:等到指定的元素即可开始执行,否则抛出异常
element2 = WebDriverWait(driver, 2, 0.5).until(EC.presence_of_element_located((By.LINK_TEXT, '保存设置')), "保存设置元素定位不到")
# 在弹出的弹窗中点击“保存设置”链接
element2.click()
# 页面停留2秒钟,方便查看效果
time.sleep(2)
# 在弹出的警告弹窗中点击“确定”按钮
# 设置隐式等待
driver.implicitly_wait(2)
# 移到警告弹窗,获取弹窗内容,并点击“确认”
print(driver.switch_to.alert.text)
driver.switch_to.alert.accept()
# 退出浏览器
driver.quit()
2.2 确认弹窗
- 【描述】:包含提示信息和【确认】【取消】按钮
- 【操作】:1、获取弹窗内容;2、进行“确认”操作;3、进行取消操作
- 【语法实现】
-
- 1、获取弹窗内容:
driver.switch_to.alert.text
- 1、获取弹窗内容:
-
- 2、进行确认操作:
driver.switch_to.alert.accept()
- 2、进行确认操作:
-
- 3、进行取消操作:
driver.switch_to.alert.dismiss()
- 3、进行取消操作:
2.3 输入信息提示弹窗
- 【描述】:包含提示信息、输入信息框和【确认】【取消】按钮
- 【操作】:1、获取弹窗内容;2、输入框输入信息;3、进行“确认”操作;4、进行取消操作
- 【语法实现】
-
- 1、获取弹窗内容:
driver.switch_to.alert.text
- 1、获取弹窗内容:
-
- 2、输入框输入信息:
driver.switch_to.alert.send_keys()
- 2、输入框输入信息:
-
- 3、进行确认操作:
driver.switch_to.alert.accept()
- 3、进行确认操作:
-
- 4、进行取消操作:
driver.switch_to.alert.dismiss()
- 4、进行取消操作:
文章来源地址https://www.toymoban.com/news/detail-630722.html
文章来源:https://www.toymoban.com/news/detail-630722.html
到了这里,关于【Python自动化测试】:弹窗的处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!