 消息框操作⭐
消息框操作⭐
  - 在wb浏览的时候经常会弹出消息框,用于给客户提示: - JavaScript根据功能把它分为三类:Alert(提示框)、Confirm(确认框)、Prompt(输入框)(不常用)
- Selenium中把它们统称为Alert
 
- 消息框的特点: - 特点1:
- 因为它不属于网页元素,所以在消息框上右击之后,没有“检查"菜单,无法查看其网页源代码。
 
- 特点2:
- 一般都是模态消息框,不关闭它,后面的网页是无法操作的。
 
 
- 特点1:
 注意:不是所有的弹出框都叫Alert,在使用 Alert前,先要识别出到底是不是Alert。
- Alert类:是Selenium中消息框处理的专用类。 
- 初始化Alerta类对象: - 切换到消息框,得到Alert对象实例
- 对象=driver.switch_to.alert
 
 
- 切换到消息框,得到Alert对象实例
- AIet类对象属性:记录消息框里的信息。 - 变量=对象.text→str类型消息框里的信息。
 
- Alert类对象方法:用于操作消息框。 - 对象.accept()→点击确认/确定按钮。
- 对象.dismiss()→点击取消按钮。
- 对象.send_keys(数据)→向prompt类型消息框里输入数据。(不常用)
 
driver.find_element(By.XPATH,//img [contains(@src,"bnt_cat.gif")]').click()
#输出消息框内容
mes1=driver.switch_to.alert
tex=mes1.text
print(tex)
mes1.dismiss()
driver.find_element(By.XPATH,'//img[contains(@src,"bnt_colles.gif")]').click()
mes2=driver.switch_to.alert
tex2=mes2.text
print(tex2)
mes2.accept()
driver.find_element(By.XPATH,'//input[@value="Click For Prompt"]').click()
mes1=driver.switch_to.alert
mes1.send_keys("hello")
mes1.accept()
tex1=driver.find_element(By.NAME,"t1").get_attribute("value")
print(tex1)
driver.find_element(By.XPATH,'//input[@value="Click For Prompt"]').click()
mes2=driver.switch_to.alert
mes2.send_keys("hello")
mes2.dismiss()
tex2=driver.find_element(By.NAME,"t1").get_attribute("value")
print(tex2)
- 小结 - 指令 - 对象=driver.switch_to.alert
- 变量=对象.text→str类型消息框里的信息。
- 对象.accept()→点击确认/确定按钮。
- 对象.dismiss()→点击取消按钮。
- 对象.send_keys(数据)→向prompt类型消息框里输入数据。(不常用)
 
 
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
driver = webdriver.Firefox()
driver.implicitly_wait(5)
driver.get('http://localhost:8080/upload/index.php')
driver.find_element(By.NAME,'imageField').click()
sleep(3)
#输出消息框内容
mes=driver.switch_to.alert
tex=mes.text
print(tex)
mes.accept()
driver.find_element(By.ID,'keyword').send_keys('806')
driver.find_element(By.NAME,'imageField').click()
sleep(3)
driver.find_element(By.XPATH,'//a[@href="goods.php?id=24"]').click()
sleep(3)
driver.find_element(By.XPATH,'//a[@href="javascript:addToCart(24)"]').click()
sleep(6)
driver.find_element(By.LINK_TEXT,'删除').click()
mes=driver.switch_to.alert
tex=mes.text
print(tex)
mes.dismiss()
driver.quit()
上次更新: 2025/5/2 14:40:28
