前言
使用Selenium做元素定位的时候,需要用到HTML的知识,所以最好是能懂得HTML的基本知识。
打开IE浏览器,点击F12进入开发者模式,点击图中红圈圈中的小箭头后单击需要查看的元素(如百度输入框),在DOM Explorer中就会把代码定位过去。
二、元素的定位
1、根据元素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("大风北吹真帅");
2、根据元素name进行定位
//引用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("大风北吹真帅");
3、根据元素class进行定位
//引用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("大风北吹真帅");
4、根据元素文本进行定位
//引用IE浏览器驱动 System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe"); //创建IE浏览器对象 InternetExplorerDriver driver = new InternetExplorerDriver(); //浏览器最大化 driver.manage().window().maximize(); driver.manage().deleteallCookies(); //等待浏览器加载完毕 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //打开网站 driver.get("https://www.baidu.com/"); //根据id进行元素定位 driver.findElement(By.linkText("新闻"));
5、根据元素部分文本进行定位
//引用IE浏览器驱动 System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe"); //创建IE浏览器对象 InternetExplorerDriver driver = new InternetExplorerDriver(); //浏览器最大化 driver.manage().window().maximize(); driver.manage().deleteallCookies(); //等待浏览器加载完毕 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //打开网站 driver.get("https://www.baidu.com/"); //根据部分文本进行元素定位 driver.findElement(By.partialLinkText("更多"));
6、根据元素tag进行定位
tag定位往往用来定义一类标签,如果页面中有多个相同的标签的元素,使用此方法进行定位就不太实用,不推荐使用此方法。
//引用IE浏览器驱动 System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe"); //创建IE浏览器对象 InternetExplorerDriver driver = new InternetExplorerDriver(); //浏览器最大化 driver.manage().window().maximize(); driver.manage().deleteallCookies(); //等待浏览器加载完毕 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //打开网站 driver.get("https://www.baidu.com/"); //根据tag进行元素定位 driver.findElement(By.tagName("a"));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。