/*
* 多种元素定位方式
*/
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();
} }

最新文章

  1. td 的colspan属性
  2. mac和centos下git安装
  3. Sql复习之安全性与权限管理+vmware增加硬盘容量
  4. p2p软件如何穿透内网进行通信
  5. 教你利用iframe在网页中显示天气
  6. 【HDOJ】2266 How Many Equations Can You Find
  7. BSA Network Shell系列-nlogin命令
  8. 如何使用supervisor管理你的应用
  9. MVC 中Delete 方法报错问题解决方案
  10. 范进中Nature——儒林外史新义
  11. Win7 VS2017编译bgfx图形API
  12. 2017-2018-2 20155303『网络对抗技术』Exp8:Web基础
  13. Nastya Is Buying Lunch CodeForces - 1136D (排列)
  14. hdu-5492-dp
  15. mysql 5.6 grant授权的时候出现问题
  16. VueX-状态管理器
  17. Spark之 SparkSql整合hive
  18. java入门实现转换
  19. 聚合类新闻client的改进
  20. 算法技巧讲解》关于对于递推形DP的前缀和优化

热门文章

  1. Angular页面加载闪现解决方案 ng-cloak
  2. Model中内部类meta详解
  3. 多版本VisualStudio导致的.net版本问题
  4. Ali RocketMQ与Kafka对照
  5. java微信开发API解析(二)-获取消息和回复消息
  6. 三、Spring Boot 多数据源配置
  7. 两款主流项目管理软件PK,哪个更好用?
  8. 自学Zabbix3.4-资产清单inventory
  9. CS:APP3e 深入理解计算机系统_3e C Programming Lab实验
  10. C# Lock、Monitor避免死锁