【selenium】表单切换与弹窗问题


一、表单切换

在前面的篇章中,有讲过窗口切换,这篇文章就来看一看表单切换。

很多页面也会用带 frame/iframe 表单嵌套,对于这种内嵌的页面 selenium 是无法直接定位的。如:

为了能够准确定位,需要使用 switch_to.frame() 方法将当前操作的对象切换成 frame/iframe 内嵌的页面。

定位的方式有三种:

  • .通过id定位
driver.switch_to.frame('id')
  • .通过name定位
driver.switch_to.frame('name')
  • 通过xpath定位
iframe = driver.find_element(By.XPATH, 'xpath')
driver.switch_to.frame(iframe_label)

二、弹窗问题

selenium提供 switch_to_alert()方法:捕获弹出对话框(可以定位alert、confirm、prompt对话框)

三种弹窗:

  • alert:确认
  • confirm:确认、取消
  • prompt:文本框、确认、取消
方法 作用
switch_to_alert() 定位弹出对话框
text() 获取对话框文本值
accept() 相当于点击“确认”
dismiss() 相当于点击“取消”
send_keys() 输入值

注意:alert和confirm没有输入对话框,只能使用在prompt里使用send_keys()


Author: Polaris119
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Polaris119 !
评论
  TOC