1.获取当前url和title
/*获取当前url和title*/
System.out.println("URL="+dr.getCurrentUrl()); //获取当前url
System.out.println("title="+dr.getTitle()); //获取当前页面title
2.浏览器的前进,后退,刷新,跳转链接
package selenium;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class SeleniumJava {
public static void main(String[] args) throws InterruptedException {
WebDriver dr = new FirefoxDriver();
dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //智能等待页面加载
dr.get("https://login.taobao.com/member/login.jhtml?redirectURL=https%3A%2F%2Fwww.taobao.com%2F%3Fspm%3Da1z10.3-c.1581860521.1.UnxmXn");
dr.findElement(By.id("TPL_username_1")).sendKeys("username");
dr.findElement(By.id("TPL_password_1")).sendKeys("password");
Thread.sleep(10000); //为了逃避验证码,停留10秒手动输入的...
dr.findElement(By.id("J_SubmitStatic")).click();
dr.findElement(By.id("mc-menu-hd")).click(); //点击“购物车”进入购物车页面
/*获取当前url和title*/
System.out.println("URL="+dr.getCurrentUrl());
//获取当前url,URL=https://cart.taobao.com/cart.htm?spm=a21bo.7724922.1997525049.1.KVSHxW&from=mini&ad_id=&am_id=&cm_id=&pm_id=1501036000a02c5c3739
System.out.println("title="+dr.getTitle());
//获取当前页面title,title=淘宝网 - 我的购物车
/*浏览器的前进,后退,刷新,跳转链接*/
dr.navigate().to("http://www.baidu.com"); //跳转至url:baidu
dr.navigate().back(); //后退:购物车
dr.navigate().forward(); //前进:百度
dr.navigate().refresh(); //刷新:百度页面刷新
dr.quit(); //退出
}
}
3.浏览器窗口之间切换
package selenium;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class SeleniumJava {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
driver.get("http://baidu.com");
//获得输入框对象
WebElement input=driver.findElement(By.xpath("//input[@id='kw']"));
//搜索安居客
input.sendKeys("anjuke");
//获得提交按钮对象
WebElement button=driver.findElement(By.xpath("//input[@id='su']"));
button.click();
//这里必须设定一个暂停时间,百度搜索结果页面加载的速度没有程序执行的速度快
//等待2S以等页面加载完成
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
System.out.print(e.toString());
}
//获取第一个搜索结果
WebElement a=driver.findElement(By.xpath("//div[@id='1']/h3/a"));
a.click();
driver=switchWindow(driver,"北京二手房");
System.out.println("成功切换到"+driver.getTitle());
driver.quit();
}
private static WebDriver switchWindow(WebDriver dr,String winTitle){
//获取当前浏览器窗口标识
String currentHandle=dr.getWindowHandle();
//获取所有浏览器窗口标识
Set<String> handles=dr.getWindowHandles();
for(String handle:handles){
if(handle.equals(currentHandle))
continue;
else{
dr.switchTo().window(handle);
if(dr.getTitle().contains(winTitle)){
break;
}else
continue;
}
}
return dr;
}
}
4.关闭浏览器窗口
driver.close();close方法关闭浏览器窗口。 driver.quit();quit方法是用来退出driver的,每一次启动chrome都会启动一个chrome.drivre进程,需使用quit方法退出。