写点什么

Selenium WebDriver API 学习笔记(一):元素定位

作者:虫无涯
  • 2023-02-17
    陕西
  • 本文字数:948 字

    阅读完需:约 3 分钟

读了虫师《Selenium 2 自动化测试实战 基于 Python 语言》一书,感触颇深,内容非常丰富。现整理下来,供后续学习参考使用。本次主要整理的是元素定位的方式。


1. id 定位


find_element_by_id();   
复制代码


2. name 定位


find_element_by_name();   
复制代码


3. class 属性定位


find_element_by_class_name();    
复制代码


4. tag 属性定位


find_element_by_tag_name();     
复制代码


5. 元素标签之前的文本信息来定位


find_element_by_link_text();       
复制代码


6. 取文本链接的一部分来定位


find_element_by_partial_link_text();    
复制代码


7. xpath 多种定位策略


find_element_by_xpath(); 
复制代码


①绝对路径:


find_element_by_xpath("html/body/div[2]/div[2]/div[3]/div[2]/form/input[1]"); 
复制代码


②元素属性:


find_element_by_xpath("//input[@id='qwe']"); find_element_by_xpath("//input[@name='qwe']"); find_element_by_xpath("//input[@class='qwe']");find_element_by_xpath("//*[@id='qwe']"); 
复制代码


③层级属性:


find_element_by_xpath("//span[@class='qwe']/input");find_element_by_xpath("//form[@id='qwe']/span[2]/input");
复制代码


④运算逻辑:


find_element_by_xpath("//input[@id='qwe' and @class='qwer']/span/input");
复制代码


8. css 选择器定位


find_element_by_css_selector();  
复制代码


其中 css 也有多种策略:

①class 属性:


find_element_by_css_selector(".qwe");
复制代码


②id 属性:

find_element_by_css_selector("#qwe");


③标签名:


find_element_by_css_selector("input");  
复制代码


A.父子关系:


find_element_by_css_selector("span>input");
复制代码


B.属性定位:


find_element_by_css_selector('[type="submit"]');
复制代码


C.组合定位:


find_element_by_css_selector("form.fm>span>input>input.qwe");
复制代码


9.BY 元素定位以上提到的 8 种定位方法,webdriver 还提供了另一套写法,即统一调用 find_element()方法,通过 BY 来声明定位的方法,并且传入对应定位方法的定位参数。使用 BY 之前需要插入 BY 类:


from selenium.webdriver.common.by import Byfind_element(BY.ID,"qwe");find_element(BY.NAME,"qwe");find_element(BY.CLASS_NAME,"qwe");find_element(BY.TAG_NAME,"qwe");find_element(BY.LINK_TEXT,"xxxxx");find_element(BY.PARTIAL_LINK_TEXT,"dddd");find_element(BY.XPATH,"//* [@id='qwe']");find_element(BY.CSS_CELECTOR," span>input ");
复制代码


发布于: 刚刚阅读数: 2
用户头像

虫无涯

关注

专注测试领域各种技术研究、分享和交流~ 2019-12-11 加入

CSDN测试领域优质创作者 | CSDN博客专家 | 阿里云专家博主 | 华为云享专家 | 51CTO专家博主

评论

发布
暂无评论
Selenium WebDriver API 学习笔记(一):元素定位_Python_虫无涯_InfoQ写作社区