1.css通过id进行定位,用#表示id属性
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
#定位百度搜索输入框
driver.find_element_by_css_selector('#kw').send_keys('selenium')
2.css通过class进行定位,用.表示class属性
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
#定位百度搜索输入框
driver.find_element_by_css_selector('.s_ipt').send_keys('selenium')
3.css通过标签进行定位,直接用标签名称,无任何标识符号,一般标签名不是唯一的所以很少会用到,
driver.find_element_by_css_selector('input').send_keys('selenium')
4.css通过其他属性进行定位,用[name='wd']表示,可以通过任意属性进行定位,不局限于id name class tag link这些属性
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
#定位百度搜索输入框
driver.find_element_by_css_selector("[name='wd']").send_keys('selenium')
5.css层级定位,通过上级节点进行定位用 >表示
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
#定位百度搜索输入框
#driver.find_element_by_css_selector("span>input").send_keys('selenium')
driver.find_element_by_css_selector("form.fm>span>input").send_keys('selenium')
6.通过索引进行定位,用:nth-child(1)来表示第几个
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.maximize_window()
#点击hao123
driver.find_element_by_css_selector("div#u1>a:nth-child(2)").click()
7.逻辑运算,同时匹配两个属性,无需and
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
#定位百度搜索输入框,同时满足两个属性
driver.find_element_by_css_selector("[name='wd'][autocomplete='off']").send_keys('selenium')
8.模糊匹配contains方法已经废弃了,会报错