Selenium2: web元素定位方法笔记
2017-04-13 00:00
323 查看
By.name("username") By.id("username") By.className("buttonStyle") By.linkText("About Google") By.partialLinkText("About") =================================== By.cssSelector("标签名[属性名='属性值']") ^= driver.findElement(By.cssSelector("标签名[属性名^='xxx']")); 匹配属性值以xxx开头的元素 $= driver.findElement(By.cssSelector("标签名[属性名$='xxx']")); 匹配属性值以xxx结尾的元素 *= driver.findElement(By.cssSelector("标签名[属性名^='xxx']")); 匹配属性值包含xxx的元素 driver.findElement(By.cssSelector("span[textContent='新闻']")); ===================================== By.xpath() : 重要!在Firefox和Chrome下速度很快,在IE下速度很慢。 starts-with() driver.findElement(By.xpath("//input[stars-with(@id,'user')]")) ends-with driver.findElement(By.xpath("//input[ends-with(@id,'name')]")) contains() driver.findElement(By.xpath("//input[contains(@id,"ernam")]")) driver.findElement(By.xpath("//span[contains(text(),'hello')]")) 包含匹配 driver.findElement(By.xpath("//span[text()='新闻']")) 绝对匹配 ====================================== http://www.cnblogs.com/qingchunjun/p/4208159.html http://www.51testing.com/html/20/n-855520-2.html ==================================================== 1. 当页面元素有id属性时,最好尽量用id来定位。但由于现实项目中很多程序员其实写的代码并不规范,会缺少很多标准属性,这时就只有选择其他定位方法。 2. xpath很强悍,但定位性能不是很好,所以还是尽量少用。如果确实少数元素不好定位,可以选择xpath或cssSelector。 3. 当要定位一组元素相同元素时,可以考虑用tagName或name。 4. 当有链接需要定位时,可以考虑linkText或partialLinkText方式。 =========================================================== 页面有多个复选框时,要一次性get_visable_elements获取到所有,保存到临时变量里。不要多次get_visable_elements,浪费时间。 List<WebElement> wes_temp=get_visable_elements(driver,"//div[contains(@id,'appAdministratorAdd')]//span[contains(@id,'checkboxfield')]") wes_temp.get(1).click() wes_temp.get(3).click() // get_visable_elements(driver,"//div[contains(@id,'appAdministratorAdd')]//span[contains(@id,'checkboxfield')]").get(1).click() // get_visable_elements(driver,"//div[contains(@id,'appAdministratorAdd')]//span[contains(@id,'checkboxfield')]").get(3).click() ============================================================ 20160608 页面有input,输入数据后,无法通过gettext得到输入的值,此时可以: String str_temp_password = driver.findElement(By.name("password")).getAttribute("value")
相关文章推荐
- Selenium2: web元素定位方法笔记
- 20170922学习笔记Selenium 2第四章WebDriver API 4.1定位元素
- selenium webdriver的八种元素定位方法
- 【selenium学习笔记】webdriver进行页面元素定位
- selenium webdriver 元素定位方法
- Selenium Webdriver元素定位八中常用方法
- 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素。其中By类的常用定位方式共八种,现分别介绍如下
- 总结Selenium自动化测试方法(三)WebDriver定位元素方法
- Selenium2自动化测试-一种低效但有效的web元素定位方法
- Selenium Webdriver元素定位的八种常用方法
- Selenium webdriver 元素定位方法总结
- Selenium2(WebDriver)总结(三)---元素定位方法
- Selenium + Webdriver 学习(四) 元素定位方法
- Selenium Webdriver元素定位方法
- Selenium2自动化测试-一种低效但有效的web元素定位方法
- 20171017学习笔记Selenium 2 第四章WebDriver API 4.8定位一组元素4.9多表单切换4.10多窗口切换
- Selenium Webdriver元素定位的八种常用方法
- Web UI自动化测试框架搭建之九:Selenium定位web页面元素的原则、方法、工具
- Selenium + Webdriver 学习(四) 元素定位方法
- selenium_webdriver(python)元素定位详解