一、表单切换
在前面的篇章中,有讲过窗口切换,这篇文章就来看一看表单切换。
很多页面也会用带 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()