CSS定位方式和XPATH定位方式基本相同,只是CSS定位表达式有其自己的格式。CSS定位方式拥有比XPATH定位速度快,且比XPATH稳定的特性。下面详细介绍CSS定位方式的使用方法
被测网页的HTML代码
被测代码
①使用绝对路径定位元素
目的:
在被测试网页中,查找第一个div中的查询按钮
CSS定位方式:
html > body > div >input[value="查询"]
Python定位语句:
element = driver.find_element_by_css_selector('html > body > div >input[value="查询"]')
代码解释:
上述CSS定位表达式使用绝对路径定位属性value的值为“查询”的页面元素。从CSS定位表达式可以看出,步间通过“>"分割,区别于XPATH路径中的正”/“,并且也不再使用@符号选择属性。
②使用相对路径定位元素
目的:
在被测试网页中,查找第一个div下的查询按钮
CSS定位表达式:
input[value="查询"]
Python定位语句:
element = driver.find_element_by_css_selector('input[value="查询"]')
代码解释:
上述CSS表达式通过相对路径使用元素名称和元素的属性及属性值进行页面元素的定位。
③使用class名称定位元素
目的:
在被测网页中,查找第一个div元素下的input输入框
CSS定位表达式:
css.spread
python定位语句:
element = driver.find_element_by_css_selector('css.spread')
代码解释:
上述CSS定位表达式使用input页面元素的class属性名称spread来进行定位,用点(.)分割元素名与class属性名,点号后面是class属性名称
④使用ID属性值定位元素
目的:
在被测试网页中,查找第一个dic元素下ID属性值为div1input“的input元素
CSS定位语句:
input#div1input
Python定位语句:
element = driver.find_element_by_css_selector('input#div1input')