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定位,此定位方式功能强大,会在下一篇博客进行介绍。

相关文章
相关标签/搜索