溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

WebDriver的幾種定位方式介紹

發(fā)布時間:2020-06-12 09:30:20 來源:網(wǎng)絡(luò) 閱讀:379 作者:honzhang 欄目:web開發(fā)
  1. 通過ID查找元素   

通過頁面元素的ID來查找元素是最為推薦的方式。W3C標(biāo)準(zhǔn)推薦開發(fā)人員為每一個頁面元素都提供一個獨一無二的ID元素,因此開發(fā)人員應(yīng)避免單個頁面上的所有元素存在ID不唯一的情況和元素ID是自動生成的情況。

頁面元素的ID被作為首選的識別屬性,因為這是最快的識別策略。

driver.findElement(By.id("Title")).sendKeys("test content");//如果需要,可用WebElement先存儲起來, 然后再進(jìn)行相應(yīng)操作。


    2.通過Name查找元素

    WebElement searchBox = driver.findElement(By.name("wd"));

    searchBox.sendKeys("java");

    searchBox.submit();//提交


    3.通過ClassName查找元素

    4.通過TagName查找元素

與前述幾個方式略有不同。其原因是同一個頁面上具有相同TagName的元素可能一個都沒,也可能有多個。因此建議在使用TagName為查找元素的條件時,使用findElements()來替代findElement()函數(shù)。

        List<WebElement> scriptList = driver.findElements(By.tagName("script"));

        System.out.println("There are "+scriptList.size()+" scripts on Xiaomi's page!");

    5.通過LinkText查找元素

eg.<a href = "www.baidu.com">提交</a>

        WebElement aboutGenExam = driver.findElement(By.linkText("提交"));

        aboutGenExam.click();

    

    6.通過PartialLinkText查找元素

WebDriver的幾種定位方式介紹


如上,百度頁面下方有“關(guān)于百度”的鏈接地址,其HTML代碼如上,可通過anchor上的部分文本信息來查找該元素并進(jìn)行操作, 如通過“關(guān)于”二字來查找該鏈接地址。

        driver.get("www.baidu.com");

        WebElement aboutLink = driver.findElement(By.partialLinkText("關(guān)于"));

        aboutLink.click();

findElement()方法只會返回頁面上第一個滿足partialLinkText為“關(guān)于”的元素。如果希望找到頁面上所有包含部分文本為"關(guān)于"的鏈接元素,則使用findElements()方法來替代。


    7.使用CSS選擇器查找元素

eg.需根據(jù)實際情況來判斷。

        WebElement about = driver.findElement(By.cssSelector("#lsb-id"));

        aboutLink.click();


    8.通過Xpath查找元素

    xpath很強悍,但定位性能不是很好,所以還是盡量少用。如果確實少數(shù)元素不好定位,可以選擇xpath或cssSelector。


    9.通過JQuery查找元素(p34-39)

    JQuery允許開發(fā)人員通過簡單的步驟快速識別頁面上的元素。在使用JQuery簡化Selenium查找元素之前 ,需要首先確認(rèn)頁面是否已經(jīng)加載了JQuery庫。在這里分情況進(jìn)行闡述,一種情況是頁面本身已經(jīng)加載了JQuery庫,另一種情況是頁面本身并沒加載JQuery庫。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI