您好,登錄后才能下訂單哦!
通過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查找元素
如上,百度頁面下方有“關(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庫。
免責(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)容。