注意:此方法返回的是第一個匹配到的元素。
findElement()方法定位元素時,會查詢整個DOM,然后返回第一個匹配的元素。
策略 | 語法 | 語法 | 描述 |
---|---|---|---|
By id | driver.findElement(By.id()) | driver.findElements(By.id()) | 通過id屬性定位元素 |
By name | driver.findElement(By.name()) | driver.findElements(By.name()) | 通過name屬性定位元素 |
By class name | driver.findElement(By.className()) | driver.findElements(By.className()) | 通過class屬性定位元素 |
By tag name | driver.findElement(By.tagName()) | driver.findElements(By.tagName()) | 通過HTML標簽名定位元素 |
By link text | driver.findElement(By.linkText()) | driver.findElements(By.linkText()) | 通過鏈接內容定位元素 |
By partial link text | driver.findElement(By.partialLinkText()) | driver.findElements(By.partialLinkText()) | 通過部分鏈接內容定位元素 |
By css | driver.findElement(By.cssSelector()) | driver.findElements(By.cssSelector()) | 通過css選擇器定位元素 |
By xpath | driver.findElement(By.Xpath()) | driver.findElements(By.Xpath()) | 通過xpath定位元素 |
package rjcs; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.By; public class findby { public static void main(String[] args) { System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //設置火狐的安裝路徑,防止系統找不到 FirefoxDriver driver = new FirefoxDriver(); //初始化FireFox瀏覽器實例,並打開瀏覽器 try { driver.manage().window().maximize(); //最大化窗口 Thread.sleep(5000); driver.manage().window().maximize(); //最大化窗口 Thread.sleep(5000); driver.get("https://www.baidu.com"); //打開一個網址,方法一 Thread.sleep(5000); System.out.println(driver.findElement(By.partialLinkText("圖")).getText()); driver.findElement(By.linkText("地圖")).click(); Thread.sleep(5000); }catch (Exception e) { e.printStackTrace(); }finally { driver.quit(); } } }
====================================
package rjcs; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.By; public class findby { public static void main(String[] args) { System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //設置火狐的安裝路徑,防止系統找不到 FirefoxDriver driver = new FirefoxDriver(); //初始化FireFox瀏覽器實例,並打開瀏覽器 try { driver.manage().window().maximize(); //最大化窗口 Thread.sleep(5000); driver.manage().window().maximize(); //最大化窗口 Thread.sleep(5000); driver.get("https://www.baidu.com"); //打開一個網址,方法一 Thread.sleep(5000); driver.findElement(By.id("kw")).click(); Thread.sleep(5000); driver.findElement(By.id("kw")).sendKeys("中國"); driver.findElementById("su").click(); Thread.sleep(5000); }catch (Exception e) { e.printStackTrace(); }finally { driver.quit(); } } }