selenium WebDriver 八种定位方式源码
/*
* 多种元素定位方式
*/
package com.sfwork; import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver; public class PageObjectModel { public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
//设置webdriver路径
System.setProperty("webdriver.chrome.drvier",
"C:\\Program Files (x86)\\Google\\Chrome\\Application\\"
+ "chromedriver.exe");
//创建webdriver对象,控制浏览器
WebDriver driver = new ChromeDriver();
//打开浏览器
driver.navigate().to("http://www.baidu.com");
//浏览器最大化
driver.manage().window().maximize();
//声明一个web元素
WebElement input;
WebElement link;
//通过ID定位百度输入框
// input = driver.findElement(By.id("kw"));
//1、通过name定位元素
// input = driver.findElement(By.name("wd"));
//2、通过XPath定位元素
// input = driver.findElement(By.xpath("//*[@id='kw']"));
//3、通过cssSelector定位元素
input = driver.findElement(By.cssSelector("#kw"));
//4、通过classname定位元素
// input = driver.findElement(By.className("s_ipt"));
//5、通过TagName定位元素
//通过input属性查找的元素有多个,所以要放到集合里,并且findElements要用复数
List<WebElement> tagname = driver.findElements(By.tagName("input"));
System.out.println(tagname.size());
for(int i = 0; i<tagname.size(); i++){
System.out.println(tagname.get(i));
if(i == 7){
tagname.get(i).sendKeys("selenium");
}
}
//得到输入框的name
// String str1 = input.getAttribute("Name");
// System.out.println(str1);
// //输入开源力量
// input.sendKeys("开源力量");
//6、通过LinkText定位链接
// link = driver.findElement(By.linkText("新闻"));
// link.click();
//7、通过partialLinkText定位元素 ,模糊定位,如果有多个,自动匹配到第一个
// link = driver.findElement(By.partialLinkText("地"));
// link.click();
//让线程休眠3秒
Thread.sleep(3000);
//关闭driver
driver.close();
} }
selenium WebDriver 八种定位方式源码的更多相关文章
- Selenium 之18 种定位方式
1 id 定位 driver.find_element_by_id() HTML 规定id 属性在HTML 文档中必须是唯一的.这类似于公民的身份证号,具有很强的唯一性 from selenium i ...
- Selenium WebDriver 8大定位方式
Selenium WebDriver 8大定位方式: driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...
- Linux应用和系统库的2种安装方式---源码安装tarball和二进制rpm包
一.应用程序和系统库从哪里来? 两种机制,源码安装和二进制安装. 二.源码安装 tarball 1.核心思想是:利用开源代码,自己编译生成应用程序或者库,要求系统上必须已安装TMG(tar, make ...
- selenium定位方式源码的存放位置
find_element方法源码存在位置 by定位方法
- Java + Selenium + WebDriver八大元素定位方式
UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java ...
- selenium基础--五种定位方式
find_element_by_name find_element_by_id find_element_by_xpath find_element_by_link_text find_element ...
- wxpython中单选框的两种创建方式源码展示
#coding=utf-8 import wx class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1, ...
- Selenium Webdriver元素定位的八种常用方式
楼主原创,欢迎学习和交流,码字不容易,转载请注明出处,谢谢. 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素 ...
- Selenium Webdriver元素定位的八种常用方式(转载)
转载自 https://www.cnblogs.com/qingchunjun/p/4208159.html 在使用selenium webdriver进行元素定位时,通常使用findElement或 ...
随机推荐
- node基础篇一:node介绍、node http、node event 课堂(持续)
最近工作一直很忙,没时间更新,谅解,这次准备更新一次node教程,本课堂将持续更新,每周坚持更新一到两章,希望对大家有一些小帮助吧: 一.首先什么是node? 1/Node.js 是一个基于 Chro ...
- SVG绘图学习总结
在我们平时做的很多网站项目中都会需要绘制各种各样的二维矢量图形.比如做城市地下管网的断面图.管线管点的坐标位置矢量标识图.钻孔位置或地层剖面图等等.我们有很多中方法来绘制这些矢量图(vml.canva ...
- Spring的Bean内部方法调用无法使用AOP切面(CacheAble注解失效)
Spring的Bean内部方法调用无法使用AOP切面(CacheAble注解失效) 前言 今天在使用Spring cache的Cacheable注解的过程中遇见了一个Cacheable注解失效的问题, ...
- json解析—Gson以及GsonFormat插件的运用
最近开始慢慢做毕业设计了,遇到一个功能是获取天气预报的,我选择的是和风天气的api,返回的是JSON数据,所以遇到了解析JSON的问题 首先简单说下JSON,JSON(JavaScript Objec ...
- Android系统匿名共享内存(Anonymous Shared Memory)Java调用接口分析
一.Ashmem驱动程序 ~/Android/kernel/goldfish ----include ----linux ----ashmem.h ----mm ----ashmem.c 驱动程序具体 ...
- string.prototype.replace 和正则表达式
字符串的replace方法是操作字符串的常用方法之一,但这个方法只有当与正则合并使用时,才能体现出它的强大之处. 语法:str.replace(regexp|substr, newsubStr|fun ...
- 自学Zabbix3.6.2-触发器triggers severity严重程度
触发器严重性定义了触发器的重要性. 1. zabbix支持以下触发级别: SEVERITY DEFINITION 颜色 Not classified 未知. 灰色 Information 一般信息. ...
- CS:APP3e 深入理解计算机系统_3e bomblab实验
bomb.c /*************************************************************************** * Dr. Evil's Ins ...
- Caused by: java.net.SocketException: Broken pipe
异常信息 时间:2017-03-24 17:22:16,719 - 级别:[ WARN] - 消息: [other] The web application [ROOT] appears to hav ...
- JDBC开源框架:DBUtils使用入门
在单元测试过程中,只涉及到数据库的直接操作来验证业务逻辑是否正确的情况,DBUtils非常适合使用.它结构简单,包小,友好处理掉那些jdbc异常,让你更专注于业务代码,而非底层的操作.官网对它的定义: ...