怎麼使用Selenium的CSS定位?

Selenium之Css定位元素:

cssSelector定位,屬於CSS高級等位,它的定位方式,利用選擇器進行的。在CSS 中,選擇器是一種模式,用於選擇需要添加樣式的對象。"CSS" 列指示該屬性是在哪個CSS 版本中定義的。(CSS1、CSS2 還是CSS3。);
下面羅列了一部分的CSS定位方式。看到這麼多是否覺得CSS不再簡單,其實不然常用的幾種方式作者已標記,CSS定位是平常使用過程中非常重要的一種方式。它與Xpath定位有諸多類似的地方,但是無論從性能還是語法上來說CSS都是比較有優勢的。
1、一般情況下定位速度要比XPATH快
2、語法比Xpath要簡潔
怎麼使用Selenium的CSS定位?
舉例:
怎麼使用Selenium的CSS定位?
怎麼使用Selenium的CSS定位?


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

public class elementLocalization {

    public static void main(String[] args) {

        String chromePath=System.getProperty("user.dir")
                +"\\driver\\chromedriver.exe";
        System.setProperty("webdriver.chrome.driver", chromePath);
        WebDriver driver=new ChromeDriver();
        driver.manage().window().maximize();
        driver.get("https://www.baidu.com");
        try {
            WebElement element=null;   //定義一個Web對象對象
    //      element=driver.findElement(By.cssSelector(".s_ipt"));//CSS樣式名稱定位百度搜索輸入框     
            element=driver.findElement(By.cssSelector("#kw"));//CSSID定位百度搜索輸入框      
            element=driver.findElement(By.cssSelector("div,a"));//CSS定位所有div對象和a對象
            element=driver.findElement(By.cssSelector("div a"));//CSS定位div標籤內所有的a對象     
            element=driver.findElement(By.cssSelector("div>a"));//CSS定位父對象是div的所有a對象
            element=driver.findElement(By.cssSelector("div+a"));//CSS定位緊接在<div> 對象之後的所有<a> 對象       
            element=driver.findElement(By.cssSelector("[target='_blank']"));//選擇target="_blank" 的所有對象。                  
            element=driver.findElement(By.cssSelector("a[name='tj_trnews'][class='mnav']"));//定位A標籤中name='tj_trnews'並且class='mnav'的對象               
            element=driver.findElement(By.cssSelector("a[href^='http']"));//選擇a標籤對象中href 屬性值以"http" 開頭的每個<a> 對象。                    
            element=driver.findElement(By.cssSelector("a[href$='.com']"));//選擇a標籤對象中href屬性值以".com"結尾的對象                     
            element=driver.findElement(By.cssSelector("a[href*='news']"));//選擇a標籤對象中href屬性值中包含news的對象       
            element=driver.findElement(By.cssSelector("a:nth-last-child(2)"));//選擇屬於其父對象的首個<a> 對象的每個<a> 對象。
            element=driver.findElement(By.cssSelector("html body div#wrapper div#head div.head_wrapper div.s_form div.s_form_wrapper.soutu-env-nomac.soutu-env-index form#form.fm span.bg.s_ipt_wr.quickdelete-wrap input#kw.s_ipt"));//通過css絕對路徑定位
        } catch (Exception e) {
            System.out.println("定位失敗");
        }
    }
}

注意:以上定位方式屬於基本使用,如果需要請自行將所有方式瀏覽一遍;

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