Selenium之alert处理

alert:js弹窗

alert处理:

1、动作:导致弹窗的出现

2、切换:driver.switch_to.alert

Alert类  在源码中查看可以使用的方法

    1、text

    2、dismiss()

    3、accept()

    4、send_keys(内容)

浏览器的3种弹窗处理:

    1、alert

 

    2、confirm

 

    3、prompt

 

案例: 

from selenium import webdriver
from time import sleep


driver = webdriver.Chrome()
driver.maximize_window()
driver.get("file:///D:/a%20pycharm/selenium%E5%AD%A6%E4%B9%A0/%E5%A4%84%E7%90%86alert.html")  # 本地文件夹中的html文件

# 导致alert弹窗  出现
driver.find_element("id","press").click()
sleep(1)

# 切换
al = driver.switch_to.alert  # 变量接收返回的类的实例化对象

# 如果要获取文本
print(al.text)

# 关闭弹出框
al.accept()

sleep(10)
driver.quit()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
selenium中切换到alert弹窗有两种常用的方法。第一种方法是使用`switch_to.alert`方法将控制权切换到alert弹窗上,然后可以使用`accept()`方法确认(alert.accept())弹窗或`dismiss()`方法取消(alert.dismiss())弹窗。例如,以下代码演示了使用这种方法切换和处理alert弹窗: ```python from selenium import webdriver driver = webdriver.Chrome() driver.get('your_url_here') # 点击触发alert弹窗 driver.find_element_by_id('your_element_id').click() # 切换到alert弹窗 my_alert = driver.switch_to.alert # 确认或取消alert弹窗 my_alert.accept() # 确认 my_alert.dismiss() # 取消 driver.quit() ``` 另一种方法是使用显式等待来等待alert弹窗的出现,然后再切换到弹窗并进行处理。以下代码演示了使用这种方法切换和处理alert弹窗: ```python from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() driver.get('your_url_here') # 点击触发alert弹窗 driver.find_element_by_id('your_element_id').click() # 等待弹窗出现 wait = WebDriverWait(driver, 20) wait.until(EC.alert_is_present()) # 切换到alert弹窗 alert = driver.switch_to.alert # 处理弹窗 print(alert.text) # 打印弹窗文本内容 alert.accept() # 确认弹窗 alert.dismiss() # 取消弹窗 alert.send_keys('input_text') # 向弹窗输入内容 driver.quit() ``` 综上所述,在selenium中切换和处理alert弹窗可以使用`switch_to.alert`方法或者配合显式等待来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [selenium中三大切换 & 三种等待方式](https://blog.csdn.net/m0_53628535/article/details/118630775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [selenium切换到alert弹窗处理](https://blog.csdn.net/qq_38741986/article/details/91468673)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值