1.Chrom和firefox都提供了“Copy xpath”,“Copy Css path”
2.通过id属性来查找元素
WebElement username = driver.findElement(By.id(“<id属性值>”))
WebElement username = driver.findElement(By.id(“username”))
3.通过name属性来查找元素
Name属性不一定能唯一确定页面元素,可能会找到多个具有相同name属性的元素,在这种情况下,页面上的第一个出现的元素将会被选择。
4.通过Class属性来查找元素
Class属性是用来指定元素所应用的CSS样式。
WebElement username =
driver.findElement(By.className(“<class属性值>”))
5.先定位父元素,再通过父元素定位子元素
WebElement div = driver.findElement(By.id(“div1”));
WebElement topLink =div.findElement(By.linkText(“top”));
或:
WebElement topLink = driver.findElement(By.id(“div1”)).findElement(By.linkText(“top”));
6.启动浏览器
Ie:
---下载驱动包
---指定IEDriver所在位置,可以通过两种方法指定:
---通过配置IEDriverServer.exe位置到path环境变量实现。
---通过“webdriver.ie.driver”系统属性实现。代码如下:
System.setProperty(“webdriver.ie.driver”,
“E:\\selenium webDriver\\ IEDriverServer.exe”)
---创建IEDriver实例
WebDriver
driver = new InternetExplorerDriver();
Chrom:
---下载驱动包
---指定ChromeDriver所在位置,可以通过两种方法指定:
---通过配置ChromeDriver.exe位置到path环境变量实现。
---通过“webdriver.chrome.driver”系统属性实现。代码如下:
System.setProperty(“webdriver.chrome.driver”,
“E:\\selenium webDriver\\ chromedriver.exe”)
---创建一个ChromeDriver的实例
---WebDriver
driver = new ChromeDriver();
---driver.get(“http://www.baidu.com”)
补充资料:(使用ChromDriverService来控制ChromeDriver进程,以达到用完就关闭的效果避免进程被占用情况出现)
ChromeDriverService service =
new ChromeDriverService.Builder().usingChromeDriverExecutable(new File(“E:\\selenium
webDriver\\ chromedriver.exe”))
.usingAnyFreePort().build();
Service.start();
WebDriver
driver = ChromeDriver();
Driver.get(“http://www.baidu.com”);
Driver.quit();
Service.stop();//关闭ChromeDriver接口
fireFox:
---无需下载驱动包
---fireFox浏览器安装路径非默认路径时需要,则需要设置它的启动路径
System.setProperty(“webdriver.firefox.bin”,
“D:\\Program Files\\Mozilla Firefox\\ firefox.exe”)
---创建FirefoxDriver实例
WebDriver
driver = new FirefoxDriver();
7.通过链接名称来定位链接
WebElement linkName = driver.findElement(By.linkText(“新闻”));
---通过部分连接名称定位链接(链接名是动态值时使用。如:打开收件箱,链接名会根据收件箱数量动态变化,可以使用partialLinkTeat()来定位固定的或已知不变的一部分名称。)
WebElement inboxLink =
driver.findElement(By.partialLinkText(“Inbox”));
8.使用标签名称定位元素
WebElement element = driver.findElement(By.tagName(“tr”));