二、selenium 元素定位

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/heye13/article/details/81538343

元素定位及其他操作

1、find_element_by 方法适用于定位页面元素,返回的是匹配的第一个元素

1、driver.find_element_by_id()//通过元素id识别
2、driver.find_element_by_name()//通过元素命名
3、driver.find_element_by_class_name()//通过元素类的名称识别
4、driver.find_element_by_tag_name()
//通过元素tag name,tag name 定位应该是所有定位方式中最不靠谱的一种了,
因为在一个页面中具有相同 tag name 的元
素极其容易出现
5、driver.find_element_by_link_text()
6、driver.find_element_by_partial_link_text()
//通过文字链接进行定位,当文字链接很长时,我们可以只取其中的一部分,只有取的部分可以唯一标识元素。
一般一个页面上不会出现相同的文件链接,通过文字链接来定位元素也是一种简单有效的定位方法。
7、driver.find_element_by_xpath()
8、driver.find_element_by_css_selector()

web自动化测试元素识别的原则:

如果有唯一的id,就用id定位元素;

如果没有,最好使用xpath;

如果xpath定位失败,视情况而定。

2、find_elements_by 方法能按照一定的标准返回一组元素 

方法 描述 参数 示例
find_elements_by_id(id_) 通过元素的id属性值来定位一组元素 id_:元素的ID driver.find_elements_by_id('product')
find_elements_by_name(name) 通过元素的那么属性值来定位一组元素 name:元素的name driver.find_elements_by_name('q')
find_elements_by_class_name(name) 通过元素的class名来定位一组元素 name:元素的类名

driver.find_elements_by_class_

name('foo')

find_elements_by_tag_name(name)

通过元素的tag name来定位一组元素

name:tag name driver.find_elements_by_tag_name('a')
find_elements_by_xpath(xpath) 通过xpath来定位一组元素 xpath:元素的xpath

driver.find_elements_by_xpath(

扫描二维码关注公众号,回复: 3288339 查看本文章

'//div[contains(@class)]')

find_elements_by_css_selector(css_selector) 通过css选择器来定位一组元素 css_selector:元素的css选择器

driver.find_elements_by_css_

selector('.a_class')

find_elements_by_link_text(text)

通过元素标签之间的文本信息来定位一组元素

text:文本信息 driver.find_elements_by_text('Log in')
find_elements_by_partial_link_text(link_text) 通过元素标签之间的部分文本信息来定位一组元素 link_text:部分文本信息

driver.find_elements_by_partial_

link_text('Add to')

文档参考

  1. 简明 Python 教程
  2. Python教程 - 廖雪峰
  3. 官方文档 : Selenium with Python
  4. webdriver实用指南python版本

猜你喜欢

转载自blog.csdn.net/heye13/article/details/81538343