1.1 操作弹窗
通常在完成某些操作时页面会弹出对话框来提示,主要分为"警告消息框","确认消息框","提示消息对话"三种类型的对话框。
selenium 中提供switch_to_alert()方法来定位到alert/confirm/prompt对话框。
定位到弹窗后,使用 text/accept/dismiss/send_keys 进行操作
switch_to_alert() #定位弹出对话
text() #获取对话框文本值
accept() #相当于点击”确认"
dismiss() #相当于点击"取消"
send_keys() # 输入值
菜鸟教程有弹窗实例
http://www.runoob.com/js/js-popup.html
警告消息框(alert)
警告消息框:用于确保用户可以得到某些信息,当警告框出现后,用户需要点击确定按钮才能继续进行操作。
确认消息框(confirm)
确认消息框:用于验证是否接受用户操作,用户可以根据选择"确定"按钮和"取消"按钮。
提示消息对话(prompt)
提示消息框:用于提示用户进入页面前输入某个值,该消息框有一个"确定"按钮和一个"取消"按钮。选择"确认"会响应对应的提示信息,选择"取消"会关闭对话框。
# coding:utf-8 # 弹窗操作 from selenium import webdriver driver = webdriver.Firefox() driver.maximize_window() driver.implicitly_wait(10) driver.get("https://www.sojump.com/jq/467816.aspx") # 点击提交弹出确定弹窗 driver.find_element_by_xpath(".//*[@id='submit_button']").click() # 切换到弹窗,获取弹窗 alert = driver.switch_to_alert() # 打印弹窗文本信息 print alert.text # 点击弹窗确定按钮 alert.accept()
注意:switch_to_alert()是旧写法,代码中会有删除横线出现,理论上应该是用switch_to.alert(),但是用新写法会报错,暂且先用旧写法。