元素的定位·CSS

from selenium import webdriver
import time
driver = webdriver.Chrome() # 指定webdriver的位置
driver.get('https://www.baidu.com') # 打开指定的网址
driver.maximize_window()
time.sleep(3)
# css定位
# css中 # 表示id . 表示class
# driver.find_element_by_css_selector('input#kw').send_keys('hadada')
# driver.find_element_by_css_selector('input.s_ipt').send_keys('hadada')
# 1. 绝对路径
# driver.find_element_by_css_selector('html body div div div+div+div a+a+a').click()
# 2 相对路径
# driver.find_element_by_css_selector(' div div+div+div a+a+a').click()
# 3 元素属性定位
# driver.find_element_by_css_selector( 'a[href= "https://www.hao123.com"]') .click()
# driver.find_element_by_css_selector( 'a[href= "https://www.hao123.com"][target="_,blank"]').click()
# 4 使用部分属性值定位
# 4.1 以什么开头 ^=
# driver.find_element_by_css_selector( 'a[href^= "https://www.hao123.com"]') .click()
# 4.2 以什么结尾$=
# driver.find_element_by_css_selector( 'a[href$= "https://www.hao123.com"]') .click()
# 4.2 包含 *=
# driver.find_element_by_css_selector( 'a[href*= "https://www.hao123.com"]') .click()
# 5、同级下定位指定元素
# 5.1 第一个后代元素 first-child
# driver.find_element_by_css_selector(' div div+div+div a:first-child').click()
# 5.2 最后一个后代元素 last-child
# driver.find_element_by_css_selector(' div.s-bottom-layer-left p:last-child').click()
# 5.3 第n个元素:nth-child(n)
# driver.find_element_by_css_selector(' div div+div+div a:nth-child(3)').click()
# 6 选择同层级下相同标签的元素
elements = driver.find_elements_by_css_selector('div+div+div a~a')
for e in elements:
print(e)
time.sleep(2)
driver.quit()
posted @ 2020-12-14 00:48  jasonchenYT  阅读(49)  评论(0编辑  收藏  举报