Selenium+Java(三)Selenium元素定位

前言web

使用Selenium作元素定位的時候,須要用到HTML的知識,因此最好是能懂得HTML的基本知識。瀏覽器

1、頁面元素的查看(以百度爲例)網站

打開IE瀏覽器,點擊F12進入開發者模式,點擊圖中紅圈圈中的小箭頭後單擊須要查看的元素(如百度輸入框),在DOM Explorer中就會把代碼定位過去。spa

 2、元素的定位code

一、根據元素id進行定位對象

//引用IE瀏覽器驅動
System.setProperty("webdriver.ie.driver","./src/driver/IEDriverServer.exe");
//建立IE瀏覽器對象
InternetExplorerDriver driver = new InternetExplorerDriver();
//瀏覽器最大化
driver.manage().window().maximize();
//等待瀏覽器加載完畢
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//打開網站
driver.get("https://www.baidu.com/");
//根據id進行元素定位
driver.findElement(By.id("kw")).sendKeys("大風北吹真帥");

二、根據元素name進行定位blog

//引用IE瀏覽器驅動
System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe");
//建立IE瀏覽器對象
InternetExplorerDriver driver = new InternetExplorerDriver();
//瀏覽器最大化
driver.manage().window().maximize();
//等待瀏覽器加載完畢
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//打開網站
driver.get("https://www.baidu.com/");
//根據name進行元素定位
driver.findElement(By.name("wd")).sendKeys("大風北吹真帥");

三、根據元素class進行定位ip

//引用IE瀏覽器驅動
System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe");
//建立IE瀏覽器對象
InternetExplorerDriver driver = new InternetExplorerDriver();
//瀏覽器最大化
driver.manage().window().maximize();
//等待瀏覽器加載完畢
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//打開網站
driver.get("https://www.baidu.com/");
//根據class進行元素定位
driver.findElement(By.className("s_ipt")).sendKeys("大風北吹真帥");

四、根據元素文本進行定位ci

//引用IE瀏覽器驅動
System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe");
//建立IE瀏覽器對象
InternetExplorerDriver driver = new InternetExplorerDriver();
//瀏覽器最大化
driver.manage().window().maximize();
//等待瀏覽器加載完畢
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//打開網站
driver.get("https://www.baidu.com/");
//根據id進行元素定位
driver.findElement(By.linkText("新聞"));

五、根據元素部分文本進行定位開發

//引用IE瀏覽器驅動
System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe");
//建立IE瀏覽器對象
InternetExplorerDriver driver = new InternetExplorerDriver();
//瀏覽器最大化
driver.manage().window().maximize();
//等待瀏覽器加載完畢
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//打開網站
driver.get("https://www.baidu.com/");
//根據部分文本進行元素定位
driver.findElement(By.partialLinkText("更多"));

六、根據元素tag進行定位

tag定位每每用來定義一類標籤,若是頁面中有多個相同的標籤的元素,使用此方法進行定位就不太實用,不推薦使用此方法。

//引用IE瀏覽器驅動
System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe");
//建立IE瀏覽器對象
InternetExplorerDriver driver = new InternetExplorerDriver();
//瀏覽器最大化
driver.manage().window().maximize();
//等待瀏覽器加載完畢
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//打開網站
driver.get("https://www.baidu.com/");
//根據tag進行元素定位
driver.findElement(By.tagName("a"));

 還有Xpath定位,此定位方式功能強大,會在下一篇博客進行介紹。

相關文章
相關標籤/搜索