通過ID查找元素
通過頁面元素的ID來查找元素是最為推薦的方式。W3C標準推薦開發人員為每一個頁面元素都提供一個獨一無二的ID元素,因此開發人員應避免單個頁面上的所有元素存在ID不唯一的情況和元素ID是自動生成的情況。
頁面元素的ID被作為首選的識別屬性,因為這是最快的識別策略。
driver.findElement(By.id("Title")).sendKeys("test content");//如果需要,可用WebElement先存儲起來, 然后再進行相應操作。
2.通過Name查找元素
WebElement searchBox = driver.findElement(By.name("wd"));
searchBox.sendKeys("java");
searchBox.submit();//提交
3.通過ClassName查找元素
4.通過TagName查找元素
與前述幾個方式略有不同。其原因是同一個頁面上具有相同TagName的元素可能一個都沒,也可能有多個。因此建議在使用TagName為查找元素的條件時,使用findElements()來替代findElement()函數。
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查找元素

如上,百度頁面下方有“關于百度”的鏈接地址,其HTML代碼如上,可通過anchor上的部分文本信息來查找該元素并進行操作, 如通過“關于”二字來查找該鏈接地址。
driver.get("www.baidu.com");
WebElement aboutLink = driver.findElement(By.partialLinkText("關于"));
aboutLink.click();
findElement()方法只會返回頁面上第一個滿足partialLinkText為“關于”的元素。如果希望找到頁面上所有包含部分文本為"關于"的鏈接元素,則使用findElements()方法來替代。
7.使用CSS選擇器查找元素
eg.需根據實際情況來判斷。
WebElement about = driver.findElement(By.cssSelector("#lsb-id"));
aboutLink.click();
8.通過Xpath查找元素
xpath很強悍,但定位性能不是很好,所以還是盡量少用。如果確實少數元素不好定位,可以選擇xpath或cssSelector。
9.通過JQuery查找元素(p34-39)
JQuery允許開發人員通過簡單的步驟快速識別頁面上的元素。在使用JQuery簡化Selenium查找元素之前 ,需要首先確認頁面是否已經加載了JQuery庫。在這里分情況進行闡述,一種情況是頁面本身已經加載了JQuery庫,另一種情況是頁面本身并沒加載JQuery庫。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。