博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium技巧——通过js来控制滚动条  业务流程:
阅读量:7064 次
发布时间:2019-06-28

本文共 1885 字,大约阅读时间需要 6 分钟。

 1.打开此网页 http://nanjing.xiaomishu.com/shop/search/sp2048_745
  2.向下拖动滚动条,右下角自动会出现【投诉与建议】(此网页已经修改不拖动也出现了,以前是没有的,)
  3.点击【投诉与建议】
  4.在打开的div 层中输入姓名,邮件,内容 并点击确定
  5.验证页面上的提示文字
 

package com.example.tests;

import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.ie.InternetExplorerDriver;


public class SeleniumWebDriver {


 public static WebDriver driver;
 
 @Test
 public void testUnit() {

  driver = new InternetExplorerDriver();
  driver.get(http://nanjing.xiaomishu.com/shop/search/sp2048_745);
  
  maxBrowser(driver);
  setScroll(driver,500);

  driver.findElement(By.linkText("投诉与建议")).click(); 
  driver.findElement(By.xpath("//input[@id='repName']")).sendKeys("1");
  driver.findElement(By.xpath("//input[@id='repMail']")).sendKeys("1");
  driver.findElement(By.xpath("//textarea[@id='repContent']")).sendKeys("hello");
  driver.findElement(By.xpath("//a[@id='repBtn']")).click();
  
  Assert.assertEquals("您输入的邮箱格式不正确", driver.findElement(By.xpath("//div[@id='floatBox_remind']/span")).getText());
  
 }
 
 
 //将IE最大化
  public static void  maxBrowser(WebDriver driver){


   try {

    String maxBroswer = "if (window.screen) {window.moveTo(0, 0);" +
      "window.resizeTo(window.screen.availWidth,window.screen.availHeight);}";
    
    JavascriptExecutor jse=(JavascriptExecutor) driver;
    jse.executeScript(maxBroswer);
   } catch (Exception e) {

    System.out.println("Fail to  Maximization browser");
   }
  }
 
 //将滚动条滚到适合的位置
 public static void setScroll(WebDriver driver,int height){

  try {

   String setscroll = "document.documentElement.scrollTop=" + height;
   
   JavascriptExecutor jse=(JavascriptExecutor) driver;
   jse.executeScript(setscroll);
  } catch (Exception e) {

   System.out.println("Fail to set the scroll.");
  }   
 } 
}

  对于这种顶级div层,一开始用id来定位,在firefox中可以正常跑

  在IE中会报stack overflow的错误,一直以来是以为没有加等待时间而没找到

  后来试了很多方法,最后发现用xpath就解决了,真是耽误了很久的时间

  给大家借鉴,如果一个定位方法不能用时,多换换其他的

  这个例子中我们学习了如何用JS控制滚动条,如何最大化IE页面。   

最新内容请见作者的GitHub页:http://qaseven.github.io/

   

转载地址:http://swsll.baihongyu.com/

你可能感兴趣的文章
《CLR Via C# 第3版》笔记之(十六) - 字符串
查看>>
XML操作
查看>>
Java并发编程笔记—基础知识—实用案例
查看>>
值得收藏:一份非常完整的MySQL规范
查看>>
CSS-border属性制作小三角
查看>>
面向接口编程详解(一)——思想基础
查看>>
YARN
查看>>
窗体的事件
查看>>
CentOS 7上安装gitlab-runner
查看>>
手摸手,带你用 vue 动画实现原生 app 切换效果,丝滑般的体验
查看>>
CSS 中 calc() 函数用法
查看>>
ahjesus 让我的MVC web API支持JsonP跨域
查看>>
集合的划分(递归)
查看>>
【笔记】读取properties文件
查看>>
Windows环境下安装 mysql-8.0.11-winx64 遇到的问题解决办法
查看>>
CAD 正在重生成模型然后卡住不动
查看>>
@angular/cli项目构建--Dynamic.Form
查看>>
python cookbook学习笔记[一次完成多个字符串的替换]
查看>>
用LyX写中文幻灯片
查看>>
让虚拟机支持USB HDD 启动
查看>>