Selenium WebDriver实战宝典

webDriver.findElement(By.xpath(".//*[@id='kw']")).clear();    清空输入框

 

4.7 设置元素等待
如今大多数Web 应用程序使用AJAX 技术。当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成的,这给元素的定位增加了困难。如果因为在加载某个元素时延迟而造成元素定位失败的情况,那么就会
降低自动化脚本的稳定性。我们可以通过设置元素等待提高这种问题而造成的不稳定。


4.7.1 timeouts 方法
WebDriver 提供了几种方法来等待元素。
 implicitlyWait 。识别对象时的超时时间。过了这个时间如果对象还没找到的话就会抛出NoSuchElement 异常。
 setScriptTimeout。异步脚本的超时时间。WebDriver 可以异步执行脚本,这个是设置异步执行脚本脚本返回结果的超时时间。
 pageLoadTimeout。页面加载时的超时时间。因为WebDriver 会等页面加载完毕再进行后面的操作,所以如果页面超过设置时间依然没有加载完成,那么WebDriver 就会抛出异常。

4.7.2 sleep 休眠方法
有时间我们希望脚本执行到某一位置时做固定时间的休眠,尤其是在脚本调试的过程中。那么可以使用Thread.sleep()方法,需要说明的是该方法Java 的提供。

 

记录cookie
通过向浏览器中添加cookie 可以绕过登录的验证码,这是比较有意思的一种解决方案。例如我们在第一次登录某网站时勾选“记住密码”的选项,当下次再访问该网站时自动就处于登录状态了。这样自然就绕过了验证码问题。那么这个“记住密码”的功能其实就记录在了浏览器的cookie 中。前面已经学了通过WebDriver 来操作浏览器的cookie,可以通过add_cookie()方法将用户名密码写入浏览器cookie ,当再次访问网站时,服务器将直接读取浏览器cookie 登录。

 

4.4 鼠标事件
通过前面例子了解到,可以使用click()来模拟鼠标的单击操作,现在的Web 产品中提供了更丰富的鼠标交互方式,例如鼠标右击、双击、悬停、甚至是鼠标拖动等功能。在WebDriver 中,将这些关于鼠标操作的方法封装在ActionChains 类提供。
Actions 类提供了鼠标操作的常用方法:

  • contextClick() 右击
  • clickAndHold() 鼠标点击并控制
  • doubleClick() 双击
  • dragAndDrop() 拖动
  • release() 释放鼠标
  • perform() 执行所有Actions 中存储的行为
  • //ctrl+a 全选输入框内容
    input.sendKeys(Keys.CONTROL,"a");
    
    //ctrl+x 剪切输入框内容
    input.sendKeys(Keys.CONTROL,"x");
    
    //ctrl+v 粘贴内容到输入框
    input.sendKeys(Keys.CONTROL,"v");

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:将文本发送至警告框。

 

https://blog.csdn.net/pythias_/article/details/85989515   testng 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.1 selenium webdriver学习(一)------------快速开始 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 selenium webdriver学习(二)————对浏览器的简单操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 selenium webdriver学习(三)------------执行js脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 selenium webdriver学习(四)------------定位页面元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5 selenium webdriver学习(五)------------iframe的处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.6 selenium webdriver学习(六)------------如何得到弹出窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.7 selenium webdriver学习(七)------------如何处理alert、confirm、prompt对话框 . . . . . . . . .24 1.8 selenium webdriver学习(八)------------如何操作select下拉框 . . . . . . . . . . . . . . . . . . . . . . . . .27 1.9 selenium webdriver学习(九)------------如何操作cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.10 selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 . . . . . . . . . . .31 1.11 selenium webdriver学习(十一)------------如何等待页面元素加载完成 . . . . . . . . . . . . . . . . . .33 1.12 selenium webdriver学习(十二)------------如何利用selenium-webdriver截图 . . . . . . . . . . . .38

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值