selenium弹出框定位处理

弹窗类型:弹出框有两种:

页面弹出框(可定位元素能操作)----div……

Windows弹出框(不能直接定位)----alert,confirm,prompt……

一.页面弹出框

div弹窗不需要切换iframe,元素需要二次定位,python写法为:

driver.find_element_by_class_name("tang-pass-footerBar").find_element_by_id('TANGRAM__PSP_10__footerULoginBtn').click()

实例如下:打开百度---登录---用户名登录---账号/密码---登录

 

 

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

switch_to.alert  --定位弹出对话框
text()                --获取对话框文本值
accept()          --相当于点击“确认”
dismiss()         --相当于点击“取消”
send_keys()   --输入值(alert和confirm没有输入对话框,所以就不用能用了,只能使用在prompt里)

二.windows弹出框

处理弹出窗口:

alert --> 只有确定

comfirm --> 有确定,有取消

propmpt --> 有确定,有取消,还可以输入值

处理方法:

access: 点击确定 ; dismiss 点击取消 ; text 获得文本; send_keys 输入值

1.定位alert弹出框

注意:获取alert弹出框时使用 x = m.switch_to.alert,而不是 x = m.switch_to.alert(),否则会提示错误:TypeError: 'Alert' object is not callable(对象不能用函数形式调用)

2.定位confirm弹出框

 

alert =driver.switch_to.alert
alert.dismiss()

3.定位prompt弹出框

 

alert =driver.switch_to.alert
alert.send_keys("python")

alert.accept()


posted @ 2019-02-17 21:21  Avicii_2018  阅读(4735)  评论(0编辑  收藏  举报