弹窗处理
Javascript弹窗
Javascript中有3种弹窗:alert(只有一个确认按钮)、confirmation(有确认和取消两个按钮供选择)、prompt(需要输入内容)。
无法使用selenium提供的find_element_by_xx()定位到alert中的元素。
Selenium提供一组统一的API处理它们,代码形式上都当做Alert的实例来处理。
alert = driver.switch_to_alert()切换到当前弹出的alert。关闭了alert之后,回到alert弹出之前的frame。
alert.accept():单击确认按钮。alert消失后,可以直接操作原来的driver。
alert.authenticate(username, password):在HTTP标准的BASIC或者DIGEST认证框中输入用户名密码,并且点击确认。并不适用于基于表单的认证。
alert.dismiss():点击取消按钮。
alert.send_keys(keysToSend):向alert的文本输入框中输入内容。
alert.text:获取alert的文本内容。
HTML弹出层
网页上弹出的信息也可能是html弹出层内容。Html弹出层能实现比javascript弹窗更丰富的效果。
Javascript将弹出层html设置为可见时,就出现了弹窗。
html弹出层的元素可以直接通过selenium定位和操作。但是要注意弹出层的窗口没有打开时,弹出层的元素是不可见的,所以虽然可以定位到,但是不能进行操作。
Windows弹窗
操作网页时可以会出现Windows窗口,比如ctrl&#