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>
posted @ 2021-11-11 23:17  Yexy  阅读(518)  评论(0)    收藏  举报