Java+Selenium教程三:浏览器操作、页面交互、鼠标操作

一、浏览器操作

1.导航

driver.navigate()

driver.get(url); 请求一个页面,不支持前进和后退切换
driver.navigate().to(url); 和get类似,支持前进和后退切换
driver.navigate().back(); 退到上一个页面 ,前提必须前进了一个页面才能回退
driver.navigate().forward(); 指前进到下一个页面 ,前提是必须后退后才能前进
driver.navigate().refresh(); 刷新当前页面

2.窗口

driver.manage().window()

Java+Selenium教程三:浏览器操作、页面交互、鼠标操作

二、页面交互

1.下拉框

方法一:通过select类来操作

import org.openqa.selenium.support.ui.Select; // 导入支持包中的select类

Select select = new Select(x);      // 实例化一个下拉框对象,x为下拉元素
select.selectByIndex(1);            //通过索引选择 
select.selectByValue("zhangsan");   //通过value值获取 
select.selectByVisibleText("张三");  //通过文本值获取

方法二:直接定位到要选择的元素

driver.findElement(By.xpath("//a[text()='苹果']")).click();

2.弹出框

import org.openqa.selenium.Alert;  // 导入弹窗包

Alert a=driver.switchTo().alert();   // 切换到弹窗对象
a.accept();       // 接受
a.dismiss();      // 取消
a.getText();      // 获取弹窗消息

3.js滚动条

driver.executeScript("window.scrollTo(arguments[0],arguments[1]);",0,1200);

// executeScript("window.scrollTo(0, document.body.scrollHeight)"); 移动到底部

4.文件上传

1、input元素可直接用element.sendKey()输入地址方式

WebElement ele = driver.getElement(By.id("imagUpload"));
ele.sendKey(filePath);

2、Selenium+Autolt上传文件

某些元素上传文件无法使用sendKey方式进行文件上传需要用到Autolt工具进行上传

三、鼠标操作

import org.openqa.selenium.interactions.Actions;  // 1.相互作用包?下面的动作包

Actions x = new Actions(driver);   // 2.实例化鼠标对象
x.click()      // 3.想要执行的操作
x.clickAndHold()
x.contextClick()
x.doubleClick()
x.dragAndDrop()
x.moveToElement()
......
x.perform()   // 4.执行

四、键盘事件

import org.openqa.selenium.Keys;  // 导入键盘事件包
Java+Selenium教程三:浏览器操作、页面交互、鼠标操作

原创文章,作者:三酷猫,如若转载,请注明出处:https://www.sankumao.com/4188.html

(0)
上一篇 2022年10月21日 下午10:38
下一篇 2022年10月22日 下午6:42

相关推荐

  • Java基础七:面向对象

    继承 1.继承类型 需要注意的是 Java 不支持多继承,但支持多重继承。 2.继承关键字 extends:类的继承是单一继承 implements:接口的继承,可继承多个接口 3…

    2022年10月17日
  • java中impl作用,为什么有些包有impl?

    今天在安装了httpclient包,因为不知道get请求在哪个包里,所以查看分析了一下包的结构。发现里面有类似org.apache.http.impl.conn的包和其它包,区别就…

    2022年10月22日
  • TestNG框架教程一:新手入门

    一、安装JDK和eclipse编辑器 JDK安装,本站教程地址:https://www.sankumao.com/2426.html eclipse安装,下载地址:https://…

    2022年10月18日
  • httpclient教程一:环境搭建

    一、环境准备 将使用eclipse和maven完成本次接口请求实现,以下内容,将默认读者已完成环境准备,包括但不限于JDK、maven、IDEA,并熟练掌握他们的使用方法,如若有不…

    2022年10月22日
  • Python中的traceback的基本用法(异常处理)

    一.Traceback介绍 在日常开发中,我们会做一些基本的异常处理,但是有时候只能打印我们处理的结果或者将异常打印出来,不能直观的知道在哪个文件中的哪一行出错。 运行结果: 而使…

    2022年11月12日
  • Java基础三:修饰符

    修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明: 访问修饰符 default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:…

    2022年10月15日
  • Java基础四:常用内置类

    包装类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double 等。 然而,在实际开发过程中,我们经常会遇到需要使用对象,而…

    2022年10月15日
  • Java 开发环境配置

    window系统安装java 出现以下信息,说明环境变量配置成功: 流行JAVA开发工具 正所谓工欲善其事必先利其器,我们在开发java语言过程中同样需要一款不错的开发工具,目前市…

    2022年10月15日
  • TestNG框架教程四:testng.xml文件详解

    TestNG通过设置testng.xml文件能做以下事情 1)创建来源不同包、类、方法的测试套件 2)包括一些选项,例如失败的用例可以重跑。 3)支持使用正则表达式 4)运行把外部…

    2022年10月20日
  • TestNG框架教程二:断言、前后置方法、分组测试、分Suite测试,@Test()属性

    一、TestNG断言 TestNG的断言种类很多,包括相等/不相等,true/false、为null/不为null、相同/不相同等。 二、前后置方法 注解 描述 @BeforeSu…

    2022年10月19日