WEB自動化(JAVA版)——元素定位(cssSelector)

元素定位-cssSelector

  • 根據tagName
    By.cssSelector(“input”);

  • 根據ID
    By.cssSelector(“input#id”);
    By.cssSelector("#id");

  • 根據className(樣式名)
    By.cssSelector(".className");
    By.cssSelector(“input.className”);

css精確定位

  • 根據元素屬性,屬性名=屬性值,id,class,等都可寫成這種形式
    By.cssSelector(“標籤名[屬性=‘屬性值’]”);
    如:By.cssSelector(“input[name=‘xxx’]”);
  • 多屬性
    By.cssSelector(“標籤名[屬性1=‘屬性值’][屬性2=‘屬性值’]”);

代碼示例

查看如下代碼第7部分,cssSelector元素定位:

package com.test;

import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;

public class ElementLocate {

	private static ChromeDriver chromeDriver;
	
	public static void main(String[] args) throws InterruptedException {
		openChrome();
		Thread.sleep(1000);
		//1.定位百度的搜索框元素,並且輸入數據(ID定位)--唯一的
		//chromeDriver.findElement(By.id("kw")).sendKeys("自動化測試");
		
		//2.定位百度的搜索框元素,並且輸入數據(Name定位)--重複
		//chromeDriver.findElement(By.name("wd")).sendKeys("自動化測試");
		
		//3.定位百度的搜索框元素,並且輸入數據(tagName定位)--找到的元素是會有多個--不推薦
		//chromeDriver.findElement(By.tagName("input")).sendKeys("自動化測試");
		
		//4.定位百度的搜索框元素,並且輸入數據(className定位)
		//chromeDriver.findElement(By.className("s_ipt")).sendKeys("自動化測試");
		//Compound class names not permitted -->複合類名的問題
		//chromeDriver.findElement(By.className("bg s_btn")).click(); //不可以用這樣的複合類名
		//chromeDriver.findElement(By.className("s_btn")).click();
		
		//5.定位“新聞”元素,並且點擊(LinkText定位)-->超鏈接完整文本
		//chromeDriver.findElement(By.linkText("新聞")).click();
		
		//6.定位“新聞”元素,並且點擊(partialLinkText定位)-->超鏈接部分文本
		//chromeDriver.findElement(By.partialLinkText("聞")).click();
		
		//7.cssSelector元素定位
		//(1)tagName定位
		//chromeDriver.findElement(By.cssSelector("input"));
		//(2)id定位
		//chromeDriver.findElement(By.cssSelector("#kw")).sendKeys("自動化測試");	
		//(3)className定位
		//chromeDriver.findElement(By.cssSelector(".s_ipt")).sendKeys("自動化測試");	
		//chromeDriver.findElement(By.cssSelector(".bg.s_btn")).click();
		
		//css精確定位
		//chromeDriver.findElement(By.cssSelector("input[maxlength='255']")).sendKeys("自動化測試");
		//css多屬性定位
		chromeDriver.findElement(By.cssSelector("input[maxlength='255'][autocomplete='off']")).sendKeys("自動化測試");		
		
	}
	public static void openChrome() {
		System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
		//1.打開Chrome瀏覽器
		chromeDriver = new ChromeDriver();
		//2.訪問百度
		chromeDriver.get("http://www.baidu.com");
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章