selenium_处理弹出窗

有时,页面可能要弹窗口。只需要去定位弹窗上的“确定”按钮即可

  • switch_to
    焦点集中到页面上的一个警告(提示)
  • accept()
    接受警告提示

切换至弹窗

chrome.switch_to.alert.accept()
chrome.switch_to_alert().accept() # 过期

1 html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>This is a page</title>
</head>
<body>
  <div id = "container">
    <div style="font: size 30px;">Hello,Python Spider</div>
  </div>
</body>
<script>
  alert('这个是测试弹窗')
</script>
</html>

2 python

from lib2to3.pgen2 import driver
from selenium.webdriver.chrome.service import Service
from selenium import webdriver


from time import sleep
import os


def test_windows():
  # 创建驱动对象
  s = Service('./chromedriver.exe')
  # 创建浏览器
  driver = webdriver.Chrome(service=s)
  # 访问页面
  # 设置页面地址
  file_path = 'file:///' + os.path.abspath('./html/test03.html')
  driver.get(file_path)
  sleep(3)
  # 定位弹出窗口,并点击
  driver.switch_to.alert.accept()
  sleep(3)
  driver.quit()


if __name__ =='__main__':
  test_windows()