js_alert弹出框处理
javaScript的弹出框分三种类型:
- Alert-只有确定按钮
- Confirmation-有确定和取消按钮(是或否)
- Prompt-有输入对话框
针对对话框可使用text/accept()/dismiss()方法进行操作:
- Switch_to_alert()-定位对话框
- Text-获取对话框文本
- Accept()-点击对话框中的确定
- Dismiss()-点击对话框中的取消
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.maximize_window()
# driver.get('https://www.w3school.com.cn/tiy/t.asp?f=eg_js_confirm')
#
#
# ifram=driver.find_element(By.ID,'iframeResult')
# driver.switch_to.frame(ifram)
#
# driver.find_element(By.XPATH,'//button[text()="试一试"]').click()
# time.sleep(3)
# # 点击弹出框中的【确定】按钮
# # driver.switch_to.alert.accept()
#
# # 点击弹出框中【取消】按钮
# driver.switch_to.alert.dismiss()
driver.get('https://www.w3school.com.cn/tiy/t.asp?f=eg_js_prompt')
ifram=driver.find_element(By.ID,'iframeResult')
driver.switch_to.frame(ifram)
driver.find_element(By.XPATH,'//button[text()="试一试"]').click()
time.sleep(2)
# 弹出的输入框中输入文本
driver.switch_to.alert.send_keys('哈喽')
# 打印获取的文本内容
print(driver.switch_to.alert.text)
# 点击弹出框中的确定按钮
driver.switch_to.alert.accept()