Java Selenium - 元素操作 (四)】的更多相关文章

四,弹出框 京东购物车为例 , 点击‘删除’ 或者‘移到我的关注’ ,就会弹出下面这个框框,练吧: (其实这也不是常规的弹出框,二是div css前端技术做的效果,本想做个Alert的案例,实在不好找例子) 真正的Alert ,不能用常规页面元素方法定位到,可以用以下办法处理:几种弹出框的处理办法 Alert alert = driver.switchTo().alert();alert.accept(); //确定alert.dismiss(); //取消alert.getText(); //…
一篇概括了常用的元素定位方法,但是找到元素还是不够的,模拟鼠标的操作,完成各个功能点的自动操作才是关键. 下面是常见的页面元素操作会涉及到的方法,不是很全,比较复杂的后面单独拿出来做案例. 一, 输入框 ,按钮 登录到京东,找到主页的搜索框,这就是经典的输入框,然后点击搜索按钮,完成搜索的动作. public static void SeachText(WebDriver dr, String URL){ dr.get(URL); dr.findElement(By.id("key")…
接上一篇,我们依然以京东的网站做示例. 三,单选项 下面来做这样一条case: 1. 登录京东旅行网页. 2. 在国内机票板块,购买从北京到武汉的往返机票,时间为明天出发,一周后返回. 3.搜索机票. 示例代码: package JD_Practice; import java.text.SimpleDateFormat; import java.util.Calendar; import org.openqa.selenium.By; import org.openqa.selenium.Ja…
1.元素定位 ID定位元素: findElement(By.id(“”)); 通过元素的名称定位元素: findElement(By.name(“”)); 通过元素的html中的位置定位元素: findElement(By.xpath(“”)); 通过元素的标签名称定位元素: findElement(By.tagName(“”)); 通过元素的链接名称定位元素: findElement(By.linkText(“”)); 通过元素的类名定位元素: findElement(By.className…
1.文本框(text field or textarea) element.sendKeys("test");//在输入框中输入内容: element.clear(); //将输入框清空 element.getText(); //获取输入框的文本内容: 2.下来选择框(select) Select select = new Select(driver.findElement(By.id("select"))); select.selectByVisibleText(…
元素的操作有 1. 清除文本 2. 模拟按键输入 3. 单击元素 4. 返回元素尺寸 5. 获取文本 6. 获取属性值 7. 判断是否可见 8. 提交 下面通过操作新浪邮箱的注册界面的脚本来展示使用方法 源代码: 1 package com.test.elementoperation; 2 3 import org.openqa.selenium.By; 4 import org.openqa.selenium.WebDriver; 5 import org.openqa.selenium.We…
在元素定位中,对富文本框的元素定位是特别的,当我们使用普通的元素定位方法对富文本框进行操作时,我们会发现不管我们之前介绍的八种方法中的任何方法,我们都不能成功定位到富文本框,并对其进行操作.那是因为富文本框是特殊的.一般的富文本框都会有个<iframe>标签.而这个标签代表什么,代表这分页,也就是说相对于原网页来说,这是新的一个页面.所以我们之前的操作都是对原页面的操作,对另个页面没有任何影响. 所以,在我们对网页中<iframe>标签下的元素进行操作时,我们先要进行一步操作,就是…
这篇关于Xpath方法的文章和之前那篇CSS的方法一样,使用前,需要先掌握一些Xpath的相关知识.当然,网上也有各种工具可以帮助我们获取到元素的Xpath,但是这并不代表着我们就可以不用了解Xpath的相关知识,毕竟依赖工具永远没有依赖自己来着靠谱.但是我也会介绍一下如果简单快速的获取元素的Xpath. 我尝试过使用一些文章介绍的快速获取Xpath的工具,但是可能因为这些工具都是依赖于浏览器的扩展工具,更新换代比较快,所以文章介绍的工具我并没有成功找到.我在这里要介绍的方法,不需要使用额外的工…
本篇介绍findElement接口中的By TagName方法.首先,要知道什么是tagname.之前我们使用F12开发者工具查看网页元素是,发现每行代码前都有<input>.<body>.<div>.<button>等等标签,这些标签就是tagname了.但是我们都可以看出来,像是<div>.<button>.<input>这些常用的标签,在网页中出现的频率是很高的,如果我们使用tagname来定位元素,可能定位到的就不…
一.解决定位并操作uneditable元素 尝试了通过id,xpath等等定位元素后点击都提示Element is not clickable at point 再看了下可以click的元素发现上面有onClick事件 查看了一下元素是span 几番操作都不行,最后还是请教的大神,通过js脚本来操作 其实浏览器中可以F12,然后同等的输入js脚本,点击Enter,发现页面会有函数对应的页面操作 将js脚本同等移动到java中 $("[data-date='2016-10-26']").…
一,单个元素对象定位 Webdriver通过findElement() , findElements()等方法调用By对象来定位和查询元素 , findElement()返回一个元素对象,否则抛出异常.findElements返回List,如果不存在则返回空List. 有一种特殊情况需要说明,就是复合classname ,如下,classname 为“sr s_btn”中间有个空格,如果直接使用By.className("sr s_btn")会报错.处理方法为只选择class属性中的一…
部分api 1.访问网站 driver.get("http://www.baidu.com"); 或者 driver.navigate().to("http://www.baidu.com"); 2.操作浏览器窗口 //声明一个point对象,两个150表示浏览器的位置相对于屏幕的左上角(0,0)的横坐标距离和纵坐标距离 Point point = new Point(150, 150); //声明dimension对象,两个500表示浏览器窗口的长度和宽度 Dim…
这篇我要介绍元素定位的倒数第二个方法啦,就是基于CSS的元素定位.关于一些CSS的知识,我这里就不累赘的讲了,以后可能会单独写一篇关于CSS的介绍.当然个人推荐如果之前完全没有CSS只是储备的,可以选择http://www.w3school.com.cn/cssref/css_selectors.asp来学习.我也是从W3school处学来的CSS知识. 我还是拿百度首页来举例. import java.util.concurrent.TimeUnit; import org.openqa.se…
本章介绍的两种方法都是对于网页上的文字链接的定位操作.根据名字,我们就可以看出来,这两者其实很相似,那么他们的不同在哪里呢. By LinkText()方法,是对一个的网页超链接,我们所需要输入的关键字为该超链接的所有文字. By PartialLinkText()方法,看到part这个单词我们就可以知道,当这个文字超链接太长时,我们不想输入那么多的字,就可以调用这个方法,主要输入属于这个超链接文字的部分就可以了.当然,为了防止因为文字出现位置太多,定位失败,建议选择的字符要有唯一性. 这里接着…
这篇文章开始,要介绍web自动化核心的内容,也是最困难的部分了,就是定位元素,并去对元素进行操作.想要对元素进行操作,第一步,也是最重要的一步,就是要找到这个元素,如果连元素都定位不到,后续什么操作都是扯淡.在selenium中查找元素的接口是findElement接口了.findElement接口支持八种查找网页元素的方法,这篇文章就先介绍比较简单方便的三种方法:By id,By Name, By ClassName. 我们还是用百度为例,查看代码的方法呢.我用的是浏览器自带的开发者工具,也就…
本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws Exception { driver.get("http://www.cnblogs.com/tankxiao"); Thread.sleep(5000); // 浏览器最大化 driver.manage().window().maximize(); driver.navigate().to…
Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型 阅读目录 对话框类型 1.  警告框: 用于提示用户相关信息的验证结果, 错误或警告等 2. 提示框: 用于提示用户在当前对话框中输入数据,一般需要用户单击取消或者确认按钮 3. 确认框: 用于提示用户确认或者取消某个操作,一般需要用户单击取消或者确认按钮 测试页面 用如下页面为例进行讲解, 包括了警告框,提示框,确认框 http://sislands.com/coin70/week1/dialo…
场景:一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 但是,有的日期控件是readonly的 ,比如神州租车 https://mycar.zuche.com/ .这个时候,没法调用WebElement的sendKeys() 解决方案:使用JS remove readonly attribute,然后sendKeys 一.Feature 示例 @E-999 Scenario: E-999:如何定位隐藏…
浏览器主要操作方法来自接口 org.openqa.selenium.WebDriver , 实现于org.openqa.selenium.remote.RemoteWebDriver这个类,然后不同浏览器的driver继承于RemoteWebDriver WebDriver diver = new FirefoxDriver(); //初始化一个火狐浏览器 WebDriver diver = new InternetExplorerDriver(); //初始化一个IE浏览器 WebDriver…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素.XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的…
1.简介 webdriver有三种判断元素状态的方法,分别是isEnabled,isSelected 和 isDisplayed,其中isSelected在前面的内容中已经简单的介绍了,isSelected表示查看元素是否被选中,一般用在勾选框中(多选或者单选),isDisplayed表示查看什么呢? 2.isDisplayed()源码 /** * Is this element displayed or not? This method avoids the problem of having…
1.简介 webdriver有三种判断元素状态的方法,分别是isEnabled,isSelected 和 isDisplayed,其中isSelected在前面的内容中已经简单的介绍了,isSelected表示查看元素是否被选中,一般用在勾选框中(多选或者单选),isDisplayed表示查看选中是否可见.isEnabled表示查什么呢?isEnabled表示查看元素是否可以进行操作,比如,点击,输入等. 2.isEnabled()源码 /** * Is the element currentl…
一.操作弹出窗口   原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然后遍历, 使用swithcto.window(newwindow_handle)方法. 就可以定位到新的窗口. 测试页面的HTML <html> <head> <title>常见web ui元素操作, 及API使用</title> <script type…
Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author davieyang * @create 2018-08-05 1:37 */ package util; import org.openqa.selenium.*; import java.util.Arrays; public class JavaScriptToDo { /** * * @param driver…
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.demo准备 2.1demo页面的HTML代码 1.这里宏哥为了省事节约时间就直接用上一篇中那个radio.html.如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti…
本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录  链接(link) <div> <p>链接 link</p> <a href="www.cnblogs.com/tankxiao">小坦克</a> </div> 链接的操作 // 找到链接元素 WebElement link1 = driver.findElement(By.linkText("小坦克")); WebElemen…
下拉列表操作中分为两种:select.非select 1.非select的下拉框操作 非select下拉列表操作与网页元素操作一致,找到元素,定位元素,设置等待,点击元素等等 接下来操作百度的设置按钮,设置属于一个下拉框 举个栗子: from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expec…
本来这些东西网上一搜一大堆,但是本着收集的精神,整理一份放着吧!哈!哈!哈! 1. 输入框(text field or textarea) WebElement element = driver.findElement(By.id("passwd-id")); element.sendKeys(“test”); element.clear(); element.getText(); 2. 下拉选择框(Select) Select select = new Select(driver.f…
一.Selenium总共有八种定位方法  By.id()  通过id定位 By.name()  通过name 定位 By.xpath() 通过xpath定位 By.className() 通过className定位 By.cssSelector() 通过CSS 定位 By.linkText() 通过linkText By.tagName() 通过tagName By.partialLinkText() 通过匹到的部分linkText 目前,使用比较多的是cssSelector和xpath, cs…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定…