Selenium 处理弹框
前言
前端有三种常见的弹框,分别是 alert 警示框,confirm 确认框,prompt 对话框。我们来看一下如何使用 selenium 操作这三种弹框。
alert

confirm

prompt

操作弹窗
操作弹框的方法/属性
- accept(): 确认
- send_keys():输入
- dismiss():取消
- text:文本
操作 alert 弹框
from selenium import webdriver
# 加载浏览器驱动
driver = webdriver.Chrome()
# 打开本地 html 文件
driver.get("file:///D:/test.html")
# 定位点击 alert
driver.find_element_by_id("alert").click()
# 切换到 alert 弹框
alert = driver.switch_to.alert
# 获取 alert 弹框文本内容
print(alert.text)
# 取消
alert.dismiss()
# 确定
# alert.accept()
操作 confirm 弹框
# 定位点击 confirm
driver.find_element_by_id("confirm").click()
# 切换到 confirm 弹框
confirm = driver.switch_to.alert
# 获取 confirm 文本内容
print(confirm.text)
# 取消
confirm.dismiss()
# 确定
# confirm.accept()
操作 prompt 弹框
# 定位点击 prompt
driver.find_element_by_id("prompt").click()
# 切换到 prompt 弹框
prompt = driver.switch_to.alert
# 获取 prompt 文本内容
print(prompt.text)
# 输入内容
prompt.send_keys("22")
# 取消
confirm.dismiss()
# 确定
# confirm.accept()
前端代码
保存到本地使用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="javascript:alert('提示框')" id="alert">Alert</a><br>
<a href="javascript:confirm('确定要删除吗?')" id="confirm">Confirm</a><br>
<a href="javascript:prompt('请输入姓名')" id="prompt">Prompt</a><br>
</body>
</html>

浙公网安备 33010602011771号