Selenium极力推荐使用CSS 定位,而不是XPath来定位元素,原因是CSS 定位比XPath 定速度快,语法也更加简洁。
CSS常用定位方法
find_element_by_css_selector()
#id id选择器根据id属性来定位元素
.class class选择器,根据class属性值来定位元素
[attribute=\'value\'] 根据属性来定位元素
element>element 根据元素层级来定位 父元素>子元素
具体代码如下:
# #!/usr/bin/python3 # -*- coding: utf-8 -*- # @Time : 2020/7/24 15:32 # @Author : Gengwu # @FileName: By_css_seleclor.py # @Software: PyCharm from selenium import webdriver from time import sleep driver=webdriver.Chrome() #driver.get(\'https://www.baidu.com/\') #1:通过id来定位 #driver.find_element_by_css_selector("#kw").send_keys("seleniumw我要自学网") #dlement后面不需要s,通过id来定位前面需要加#号+id #2:通过class来定位 #driver.find_element_by_css_selector(\'.s_ipt\').send_keys(\'seleniumw我要自学网\') #class来定位,class前面+. #3:通过属性来定位 #driver.find_element_by_css_selector("[autocomplete=\'off\']").send_keys(\'seleniumw我要自学网\') #属性要在[]里面 sleep(2) driver.find_element_by_id(\'su\').click() sleep(2) driver.quit()