Selenium WebDriver实战宝典

Selenium WebDriver实战宝典_第1张图片

Selenium WebDriver实战宝典_第2张图片

Selenium WebDriver实战宝典_第3张图片

Selenium WebDriver实战宝典_第4张图片

Selenium WebDriver实战宝典_第5张图片Selenium WebDriver实战宝典_第6张图片Selenium WebDriver实战宝典_第7张图片Selenium WebDriver实战宝典_第8张图片

Selenium WebDriver实战宝典_第9张图片

Selenium WebDriver实战宝典_第10张图片

Selenium WebDriver实战宝典_第11张图片

Selenium WebDriver实战宝典_第12张图片

Selenium WebDriver实战宝典_第13张图片

Selenium WebDriver实战宝典_第14张图片

Selenium WebDriver实战宝典_第15张图片

Selenium WebDriver实战宝典_第16张图片

Selenium WebDriver实战宝典_第17张图片

Selenium WebDriver实战宝典_第18张图片

Selenium WebDriver实战宝典_第19张图片

Selenium WebDriver实战宝典_第20张图片

Selenium WebDriver实战宝典_第21张图片

Selenium WebDriver实战宝典_第22张图片

Selenium WebDriver实战宝典_第23张图片

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

 

Selenium WebDriver实战宝典_第24张图片

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

 

Selenium WebDriver实战宝典_第25张图片

Selenium WebDriver实战宝典_第26张图片

Selenium WebDriver实战宝典_第27张图片

Selenium WebDriver实战宝典_第28张图片

Selenium WebDriver实战宝典_第29张图片

Selenium WebDriver实战宝典_第30张图片

Selenium WebDriver实战宝典_第31张图片

Selenium WebDriver实战宝典_第32张图片

Selenium WebDriver实战宝典_第33张图片

Selenium WebDriver实战宝典_第34张图片

Selenium WebDriver实战宝典_第35张图片

Selenium WebDriver实战宝典_第36张图片

Selenium WebDriver实战宝典_第37张图片

Selenium WebDriver实战宝典_第38张图片

Selenium WebDriver实战宝典_第39张图片

Selenium WebDriver实战宝典_第40张图片

Selenium WebDriver实战宝典_第41张图片

Selenium WebDriver实战宝典_第42张图片

Selenium WebDriver实战宝典_第43张图片

Selenium WebDriver实战宝典_第44张图片Selenium WebDriver实战宝典_第45张图片

Selenium WebDriver实战宝典_第46张图片

Selenium WebDriver实战宝典_第47张图片

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

Selenium WebDriver实战宝典_第48张图片

Selenium WebDriver实战宝典_第49张图片

你可能感兴趣的:(Selenium WebDriver实战宝典)