Selenium自行整理【二十四】

4.11、警告框处理

       在 WebDriver 中处理 JavaScript 所生成的 alert、confirm 以及 prompt 十分简单,具体做法是使用switch_to_alert()方法定位到 alert、confirm、prompt,然后使用 text、accept、dismiss、sendKeys 等方法进行操作。   

           ●  getText():返回 alert/confirm/prompt 中的文字信息。

           ●  accept() 接受现有警告框。

           ●  dismiss():解散现有警告框。

           ●  sendKeys(keysToSend):发送文本至警告框。

           ●  keysToSend:将文本发送至警告框。

      如下图所示,百度搜索设置弹出的窗口是不能通过前端工具对其进行定位的,这个时候就可以通过switch_to_alert()方法接受这个弹窗。

代码如下:

      从这个例子中我们重温了本章 4.4 节中 ActionChains 类所提供的 clickAndHold()鼠标点击并控制的使用,将将鼠标点击并控制在“设置”链接上,然后在弹出的下拉菜单中单击“搜索设置”按钮,设置完成后单击“保存设置”,弹出保存确认警告框。通过 switch_to_alert()方法获取当前页面上的警告框,并使用 accept()方法接受警告框。

 

4.12、下拉框处理

       有时候我们会碰到<select></select>标签的下拉框。直接点击下拉框中的选项不一定可行。Selenium 专门提供了 Select 类来处理下拉框。

代码如下:

                               selectByValue()方法符用于选取<option>标签的 value 值。

 

 

4.13、sendKeys实现上传文件

       上传文件是比较常见的 Web 功能之一,但 WebDriver 并没有提供专门用于上传的方法,如何实现上传操作关键在于上传文件的思路。

       一般 Web 页面的上传功能的操作,需要单击“上传”按钮后需要打开本地的 Window 窗口,从窗口中选择本地文件进行上传。而 WebDriver 是无法操作 Windows 控件的,所以,对于初学者来说,一般思路会卡在如何识别 Window 控件这个问题上。

                                对于 Web 页面的上传功能实现一般有以下两种方式。

1) 【普通上传】:普通的附件上传是将本地文件的路径作为一个值放在 input 标签中,通过 form 表单将这个值提交给服务器。

2) 【插件上传】:一般是指基于 Flash、JavaScript 或 Ajax 等技术所实现的上传功能。

 

         对于通过 input 标签实现的上传功能,可以将其看作一个输入框,即通过 sendKeys()指定本地文件路径的方式实现文件上传。

       通过这种方法上传,就避免了操作 Windows 控件的步骤。如果能找到上传的 input 标签,那么基本上就可以通过 sendKeys()方法向其输入一个文件地址来实现上传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值