WebDriver API (四)- 多表单切换、多窗口切换、警告框处理

1. 多表单切换

switch_to.frame()方法将当前定位的主体切换到frame/iframe表单的内嵌页面中。

例如,通过iframe表单切入一个百度页面;

用浏览器打开后的样式:

python脚本中使用switch_to.iframe()先找到frame.html中的<iframe>标签,再定位百度输入框。

switch_to.iframe()默认可以直接取表单的id或name属性。如果iframe没有可用的id和name属性,则可以通过下面的方式进行定位。

如果进入多级表单,可以通过switch_to.default_content()跳回最外层的页面。

 

2. 多窗口切换

涉及方法:

current_window_handle: 获取当前窗口的句柄

window_handles: 返回所有窗口的句柄到当前会话

switch_to.window(): 用于切换到相应的窗口。

 

 

3. 警告框处理

使用switch_to_alert()方法定位到alert/confirm/prompt, 然后使用text/accept/dismiss/send_keys等方法进行操作。

text:返回alert/confirm/prompt中的文字信息

accept:接受现有警告框

dismiss:解散现有警告框

send_keys(keysToSend):发送文本至警告框。keysToSend将文本发送至警告框。