Java+Selenium3自動化入門8---八種定位方式 2

昨天簡單的介紹了5種定位方式-by.id(),-by.xpath(),-by.linkText(),-by.partialLinkText(),by.cssSelector(),那麼今天我們來介紹另外幾種定位方式。

-by.name(),by.className(),-by.tagName()

1.好,第一個看看By.name();還是以百度首頁爲栗子,可以看到輸入框的name="wd",所以我們來看一下代碼如何實現的

public class eightMthods {
	
	public static void main(String[] args) throws Exception {    
   
		WebDriver driver = new FirefoxDriver();        
		driver.manage().window().maximize();
	  /*
	   *1. 根絕name來定位元素  
	   */
		String PhotoUrl = "https://www.baidu.com";
		driver.get(PhotoUrl); 
		
		driver.findElement(By.name("wd")).sendKeys("安徽師範大學");
		driver.findElement(By.id("su")).click();

2.第二個再來看看by.className()方法

className屬性是利用元素的css樣式表所引用的僞類名稱來進行元素查找的方法。對於任何HTML頁面的元素來說,一般程序員或頁面設計師會給元素直接賦予一個樣式屬性或者利用css文件裏的僞類來定義元素樣式,使元素在頁面上顯示時能夠更加美觀。

.beautifulStyle{
    width: 50px;

    height: 50px;
 
    border-radius: 50%;
}

而當我們設計一個button的時候,我們就需要引用這個樣式表,來裝飾我們的button

<button name="oneBtnName" id="oneBtnId" class="beautifulStyle">I'm Lion Button</button>

這樣就把上面的樣式表引用到我們的按鈕上了,所以此時我們就可以通過.className()屬性來操作此按鈕了

driver.findElement(By.className("beautifulStyle")).click();

在這裏應該注意一點,有的元素屬性claaName是帶有空格的,className 爲"bg s_btn"

className點擊會報錯selector,不允許組合的class name,是因爲這個className中間有空格,所以以後遇到有空格的className就不要用它定位

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章