为什么用CSS来进行元素定位?##
相较id和name而言,更通用,因为很多公司的前端页面不太规范,不是所有标签都会用id,name属性
相较xpath而言,书写更便捷,更易理解,当前端页面发生变更时,只要标签名及其相应的属性名不变,便可一直使用下去;
def find_element_by_css_selector(self, css_selector):
"""
Finds an element by css selector.
:Args:
- css_selector - CSS selector string, ex: 'a.nav#home'
:Returns:
- WebElement - the element if it was found
:Raises:
- NoSuchElementException - if the element wasn't found
:Usage:
element = driver.find_element_by_css_selector('#foo')
初学者如何使用CSS元素定位器来定位?
使用CSS元素定位器五分钟即可迅速上手。甚至不需要学习CSS语法。
我们只需要找到CSS元素定位的三大要素:标签(laber),类(class),ID(id)
这里以百度为例,走一下元素定位的过程:
1.首先进入我们想要访问的页面,点击'F12',进入开发者模式
在element调试台点击元素选择器后选择想要定位的元素,可以在弹框看到对应的标签和类名,如果这个是唯一的,就可以直接作为css选择器的入参