Webdriver学习笔记(二)浏览器的基本操作

1.webdriver对浏览器的支持
     1.1HtmlUnitDriver
          优点:打开和运行速度都很快,而且不会实际打开浏览器。
          缺点:对JS支持不好,而且经常出现找不到页面的元素。
          代码: WebDriver driver =  new  HtmlUnitDriver();
     1.2FireFoxDriver
          优点:对JS支持很好,浏览器打开后运行速度也很快。
           缺点:启动很慢,很慢,运行速度没HtmlUnitDriver快。
          代码: WebDriver driver =  new  FirefoxDriver();
     1.3InternerExplorerDriver
          优点:对JS支持很好,也可以很直观看到执行情况。
          缺点:启动虽比FF快,但是运行是最慢的,而且对CSS,XPATH的支持也不是非常好。
          代码: WebDriver driver=  new  InternetExplorerDriver();
     1.4ChromeDriver
          优点:打开和运行速度都挺快的,而且对js支持也很好,也很直观可以看到模拟效果
          缺点:貌似就没HtmlUnitDriver快
          代码: WebDriver driver=  new  ChromeDriver();
     1.5等等。。。
例子:最后一起给

2.打开测试页面
     说完打开浏览器后,接着的操作就是打开需要测试的页面。
     打开测试页面又两种方法:
      ① driver.get(  "url"  );
      ② driver.navigate().to(  "url"  );
两种方法开的页面表面上没啥区别,实质有些区别。navigate(). to直接打开没有逻辑和校验,get会加入校验通常习惯用get方法。
不管是用to还是用get方法打开页面,都会自动等待页面加载完毕后再执行下一句,也就是浏览器的状态栏显示“完成”时再往下执行。
例子:最后一起给

3.等待(Thread.sleep(time))
     等待功能主要是上一行代码执行结束后,下一行代码操作开始执行之间的时间间隔,time参数为毫秒。

4.浏览器的常见操作
     3.1前进和后退(forward()/back())
          前进和后退就是模拟浏览器的前进后退查看那历史。
     3.2刷新(refresh())
          相当于浏览器按F5的操作。
     3.3获取页面Title(getTitle())
          获取当前页面的title值。
     3.4获取页面的URL(getCurrentUrl())
          获取当前页面的URL值。
 
5.关闭浏览器
     关闭浏览器同样有两种方式:
          ①. driver.close(); 仅仅关闭当前的页面
          ②. driver.quit();关闭所有的窗口,结束测试
例子:
import java.io.File;

import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class OpenBrowser {
	/**
	 * 打开IE浏览器,并打开百度首页
	 */
	@Test
	public void openIEBrowser() {
		// 设置IEDriverServer的路径,根据你具体存放位置来设置路径
		System.setProperty("webdriver.ie.driver", "C:\\holmosconf\\driverServers\\IEDriverServer.exe");
		// 打开IE
		WebDriver driver = new InternetExplorerDriver();
		// 用get的方法打开百度首页
		driver.get("http://www.baidu.com");
		// 刷新当前页面
		driver.navigate().refresh();
		// 关闭当前页面
		driver.close();
	}

	/**
	 * 打开Chrome浏览器,并打开百度地址
	 */
	@Test
	public void openChromeBrowser() {
		// 设置chromedriver的路径,根据你具体存放位置来设置路径
		System.setProperty("webdriver.chrome.driver", "C:\\holmosconf\\driverServers\\chromedriver.exe");
		// 启动Chrome浏览器
		WebDriver driver = new ChromeDriver();
		// to方式打开百度首页
		driver.navigate().to("http://www.baidu.com");
		// 获取当前页面的URL,并输出
		System.out.println(driver.getCurrentUrl());
		// 为了看效果,我们等待3S钟
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		// get方式打开谷歌首页
		driver.get("http://www.google.com.hk");
		// 获取当前页面的URL,并输出
		System.out.println(driver.getCurrentUrl());
		// 为了看效果,我们等待3S钟
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		// 浏览器后退
		driver.navigate().back();
		// 获取当前页面的URL,并输出
		System.out.println(driver.getCurrentUrl());
		 // 为了看效果,我们等待3S钟
        try {
              Thread. sleep(3000);
       } catch (InterruptedException e) {
              e.printStackTrace();
       }
		// 浏览器前进
		driver.navigate().forward();
		// 获取当前页面的URL,并输出
		System.out.println(driver.getCurrentUrl());
		// 结束测试
		driver.quit();
	}

	/**
	 * 打开firefox浏览器,并打开百度地址
	 */
	@Test
	public void openFFDriver() {
		// 方法一
		// 设置火狐的路劲,根据你具体存放位置来设置路径
		System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
		// 启动火狐浏览器
		WebDriver driver = new FirefoxDriver();
		// 打开百度页面
		driver.get("http://www.baidu.com");
		// 关闭页面
		driver.close();

		// 方法二
		// 设置火狐的路劲,根据你具体存放位置来设置路径
		File pathToFirefoxBinary = new File("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
		FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);
		// 启动火狐浏览器
		WebDriver driver1 = new FirefoxDriver(firefoxbin, null);
		// 打开谷歌页面
		driver1.get("http://www.google.com.hk");
		// 关闭页面
		driver1.close();
	}

	/**
	 * 用HtmlUnitDriver方式打开,并打开百度地址
	 */
	@Test
	public void openHtmlDriver() {
		// 用HtmlUnitDriver方式打开
		WebDriver driver = new HtmlUnitDriver();
		// 打开百度页面
		driver.get("http://www.baidu.com");
		// 获取到当前页面的title,并输出
		System.out.println(driver.getTitle());
		driver.quit();
	}
}



当然,下面是一篇关于Selenium学习的简要笔记: Selenium学习笔记 Selenium是一个用于自动化浏览器操作的工具,它提供了一套API,可以简化Web应用程序的测试和自动化过程。以下是一些基本概念和用法,可以帮助你快速入门Selenium。 1. 安装Selenium 首先,你需要安装Selenium库。你可以使用pip命令来安装,在命令行中执行以下命令: ``` pip install selenium ``` 2. 驱动程序 Selenium需要一个浏览器驱动程序来控制浏览器。根据你使用的浏览器,你需要下载相应的驱动程序。 - 如果你使用Chrome浏览器,你需要下载ChromeDriver; - 如果你使用Firefox浏览器,你需要下载geckodriver; - 如果你使用Edge浏览器,你需要下载MicrosoftWebDriver。 3. 启动浏览器 在使用Selenium之前,请确保已经将驱动程序路径添加到系统环境变量中。然后,你可以使用以下代码启动一个浏览器: ```python from selenium import webdriver # 使用Chrome浏览器 driver = webdriver.Chrome() # 使用Firefox浏览器 driver = webdriver.Firefox() # 使用Edge浏览器 driver = webdriver.Edge() ``` 4. 打开网页 一旦你启动了浏览器,你可以使用以下代码打开一个网页: ```python driver.get("https://www.example.com") ``` 5. 查找元素 Selenium提供了多种方式来查找网页上的元素,比如按ID、类名、标签名等。以下是一些示例代码: ```python # 按ID查找元素 element = driver.find_element_by_id("element_id") # 按类名查找元素 elements = driver.find_elements_by_class_name("element_class") # 按标签名查找元素 element = driver.find_element_by_tag_name("element_tag") ``` 6. 元素操作 一旦找到了元素,你可以对它进行各种操作,比如点击、输入文本等。以下是一些示例代码: ```python # 点击元素 element.click() # 输入文本 element.send_keys("text") # 获取元素文本 text = element.text ``` 这只是Selenium的基本用法,还有很多其他功能和用法等待你去探索。希望这篇学习笔记对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值