webdriverAPI详解
来源:互联网 发布:行知实践园感悟 编辑:程序博客网 时间:2024/05/17 05:03
1 webdriver中WebDriver类
package cn.caogao;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String url_1="http://www.baidu.com";
String url_2="http://www.sogou.com";
WebDriver driver=new FirefoxDriver();
driver.get(url_1);
WebElement element= driver.findElement(By.id("kw"));
element.sendKeys("中国");
System.out.println("-----------------------------------分割线------------------------------------");
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String url_1="http://www.baidu.com";
String url_2="http://www.sogou.com";
WebDriver driver=new FirefoxDriver();
driver.get(url_1);
WebElement element= driver.findElement(By.id("kw"));
element.sendKeys("中国");
System.out.println("-----------------------------------分割线------------------------------------");
List<WebElement> elements=driver.findElements(By.tagName("a"));
for(WebElement e:elements)
{
System.out.println(e.getText());
/*
* 百度首页设置登录新闻贴吧知道音乐图片视频地图文库更多»
* */
}
System.out.println("-----------------------------------分割线------------------------------------");
System.out.println(driver.getCurrentUrl()); // https://www.baidu.com/
System.out.println("-----------------------------------分割线------------------------------------");
//System.out.println(driver.getPageSource()); //返回页面代码
System.out.println("-----------------------------------分割线------------------------------------");
System.out.println(driver.getTitle()); //百度一下,你就知道
System.out.println("-----------------------------------分割线------------------------------------");
System.out.println(driver.getWindowHandle()); //{daf895e9-34f2-4e36-91f7-23a857a43498}
System.out.println("-----------------------------------分割线------------------------------------");
System.out.println(driver.getCurrentUrl()); // https://www.baidu.com/
System.out.println("-----------------------------------分割线------------------------------------");
//System.out.println(driver.getPageSource()); //返回页面代码
System.out.println("-----------------------------------分割线------------------------------------");
System.out.println(driver.getTitle()); //百度一下,你就知道
System.out.println("-----------------------------------分割线------------------------------------");
System.out.println(driver.getWindowHandle()); //{daf895e9-34f2-4e36-91f7-23a857a43498}
System.out.println("-----------------------------------分割线------------------------------------");
Set<String> set=driver.getWindowHandles();
Iterator<String> it=set.iterator();
while(it.hasNext())
{
System.out.println(it.next()); //{daf895e9-34f2-4e36-91f7-23a857a43498}
}
}
}
Iterator<String> it=set.iterator();
while(it.hasNext())
{
System.out.println(it.next()); //{daf895e9-34f2-4e36-91f7-23a857a43498}
}
}
}
WebDriver中的方法:
- void get(String) 通过该方法访问要访问的网页, String通常为网址
- findElement(By) 通过该方法获取页面元素 例如通过id、name、xpath等,返回WebElement
- findElements(By) 通过该方法获取页面某一类元素,例如:标签名 返回List集合
- driver.getCurrentUrl() 返回当前页的网址 返回String
- getPageSource() 返回页面Html代码 返回String
- getTitle() 返回页面标题 String
- getWindowHandle() 返回如上例,看不懂。。。。。
- getWindowHandles() 如上。。。。
- manage() 返回类型Options
- navigate() 返回类型Navigation
- switchTo() 返回类型 TagetLocator
2 常用场景
1 打开浏览器,访问网址(如上例)
2 页面元素定位
package cn.caogao;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Demo2 {
public static void main(String[] args) {
String url_1="http://www.baidu.com";
WebDriver driver=new FirefoxDriver();
driver.get(url_1);
// WebElement element= driver.findElement(By.id("kw"));
// element.sendKeys("zhongguo");
// WebElement e=driver.findElement(By.linkText("新闻"));
// System.out.println(e.getTagName());
// e.click();
// WebElement e=driver.findElement(By.name("tj_trnuomi"));
// e.click();
// List<WebElement> e=driver.findElements(By.partialLinkText("百度"));
// for(WebElement element:e)
// {
// System.out.println(element.getText()); //把百度设为主页关于百度百度推广使用百度前必读
// }
// List<WebElement> e=driver.findElements(By.tagName("a"));
// System.out.println(e.get(0).getTagName());
WebElement e=driver.findElement(By.xpath("//input[@id='kw']"));
e.sendKeys("中国");
driver.findElement(By.id("su")).click();
}
}
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Demo2 {
public static void main(String[] args) {
String url_1="http://www.baidu.com";
WebDriver driver=new FirefoxDriver();
driver.get(url_1);
// WebElement element= driver.findElement(By.id("kw"));
// element.sendKeys("zhongguo");
// WebElement e=driver.findElement(By.linkText("新闻"));
// System.out.println(e.getTagName());
// e.click();
// WebElement e=driver.findElement(By.name("tj_trnuomi"));
// e.click();
// List<WebElement> e=driver.findElements(By.partialLinkText("百度"));
// for(WebElement element:e)
// {
// System.out.println(element.getText()); //把百度设为主页关于百度百度推广使用百度前必读
// }
// List<WebElement> e=driver.findElements(By.tagName("a"));
// System.out.println(e.get(0).getTagName());
WebElement e=driver.findElement(By.xpath("//input[@id='kw']"));
e.sendKeys("中国");
driver.findElement(By.id("su")).click();
}
}
常用获取页面元素的方法如上例,通过id(“kw”)、、linkText("新闻")、name("tj_trnuomi")、partialLinkText("百度")、tagName("a")、xpath("//input[@id='kw']")
还可以通过CSS定位,常用方法By.cssSelector(selector)、By.className(className);在此不做详解
3 单击按钮(如上例所示)
使用click()方法
4 双击某个元素
0 0
- webdriverAPI详解
- webdriverapi
- selenium webdriverapi
- selenium的webdriverAPI使用操作多项选择框内容_10_3.docx
- 详解
- 详解
- 详解
- 详解
- &,&&,|,||详解
- 详解
- Scala详解--------基础知识详解
- Spring详解-----------事务详解
- github 详解详解
- InputFilter详解、TextWatcher详解
- Spring详解-----------事务详解
- 【词汇详解】事务详解
- Session 详解
- Session 详解
- Python多线程存取MySQL数据
- OGLES顶点着色器
- XX项目知识点汇总(2)
- Android 移动端 -初级开发工程师 该如何去走?
- 网页精灵图制作
- webdriverAPI详解
- PhpExcel中文帮助手册|PhpExcel使用方法
- Android 多个Fragment嵌套导致的三大BUG
- Java认识&理解关键字 native 实战篇
- Stream详解
- TensorFlow详细安装入门图文教程!
- 详写easyui的配置
- 0313
- 深入理解HTML5标签