代码:
package com.demo.test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.Sleeper;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.interactions.Actions;
public class LogTest {
public static void main(String[] args) throws Exception {
///如下为对百度网页进行一次搜索的过程;///
//driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); 设置下 全局等待时间
//webdriver.chrome.driver:固定的,指谷歌驱动,D:/chrome/chromedriver.exe:驱动的位置
String s = System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
driver.manage().window().maximize();
//显式等待, 针对某个元素等待(等元素加载起来后才触发)
// WebDriverWait类是由WebDirver提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。具体格式如下:
// WebDriverWait(driver, 10, 1)
// driver: 浏览器驱动。 10: 最长超时时间, 默认以秒为单位。 1: 检测的的间隔(步长) 时间, 默认为 0.5s。
/* WebDriverWait wait = new WebDriverWait(driver, 10, 1);
wait.until(new ExpectedCondition<WebElement>() {
@Override
public WebElement apply(WebDriver text) {
return text.findElement(By.id("kw"));
}
}).sendKeys("selenium");*/
//创建鼠标属性方法,然后获取id为kw的元素并点击。
//Actions action = new Actions(driver);
//action.moveToElement(driver.findElement(By.id("kw"))).perform();
//通过元素属性id=kw找到百度输入框,并输入"Selenium java";
//driver.findElement(By.id("kw")).sendKeys("Selenium java");
// driver.findElement(By.name("wd")).sendKeys("test");
// Thread.sleep(1000);
//通过元素属性id=su找到百度一下搜索按钮,并对按钮进行点击操作;
//driver.findElement(By.id("su")).click();
//driver.findElement(By.linkText("新闻")).click();
// String s1="输出name=";
//System.out.print("\"输出name=\"");
//System.out.print(driver.findElement(By.id("wd")).getAttribute("name"));
/*driver.findElement(By.id("kw")).sendKeys("test1");
Thread.sleep(1000);
driver.findElement(By.id("kw")).clear();
Thread.sleep(1000);
driver.findElement(By.id("kw")).sendKeys("test111111");
driver.findElement(By.id("su")).click();
System.out.print(driver.getCurrentUrl());*/
//System.out.print( driver.getWindowHandle());
//移动到页面最底部
// ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 10000)");
/*Thread.sleep(1000);
for (int j = 1; j < 10; j++) {
Thread.sleep(2000);
((JavascriptExecutor) driver).executeScript("window.scrollBy(0, " + j * 100 + ")");
}
System.out.println("退出循环了");*/
// //刷新页面
// driver.navigate().refresh();
//
Actions action = new Actions(driver);
action.clickAndHold(driver.findElement(By.linkText("设置"))).perform();
Thread.sleep(2000);
driver.findElement(By.className("setpref")).click();
//定位一组元素
//System.out.println(driver.findElements(By.tagName("input")).size());
System.out.println(driver.findElements(By.name("SL")).size());
for (int i = 0; i < driver.findElements(By.name("SL")).size(); i++)
{
Thread.sleep(2000);
driver.findElements(By.name("SL")).get(i).click();
System.out.println(driver.findElements(By.name("SL")).get(i).getAttribute("value")) ;
}
}
}