1、通過父節點定位子節點
# 1.串聯尋找 print driver.find_element_by_id('B').find_element_by_tag_name('div').text # 2.xpath父子關系尋找 print driver.find_element_by_xpath("//div[@id='B']/div").text # 3.css selector父子關系尋找 print driver.find_element_by_css_selector('div#B>div').text # 4.css selector nth-child print driver.find_element_by_css_selector('div#B div:nth-child(1)').text # 5.css selector nth-of-type print driver.find_element_by_css_selector('div#B div:nth-of-type(1)').text # 6.xpath軸 child print driver.find_element_by_xpath("//div[@id='B']/child::div").text
2、通過子節點定位父節點
# 1.xpath: `.`代表當前節點; '..'代表父節點 print driver.find_element_by_xpath("//div[@id='C']/../..").text # 2.xpath軸 parent print driver.find_element_by_xpath("//div[@id='C']/parent::*/parent::div").text
3、通過老弟節點定位老哥節點
# 1.xpath,通過父節點獲取其哥哥節點 print driver.find_element_by_xpath("//div[@id='D']/../div[1]").text # 2.xpath軸 preceding-sibling print driver.find_element_by_xpath("//div[@id='D']/preceding-sibling::div[1]").text
4、通過哥哥節點定位弟弟節點
# 1.xpath,通過父節點獲取其弟弟節點 print driver.find_element_by_xpath("//div[@id='D']/../div[3]").text # 2.xpath軸 following-sibling print driver.find_element_by_xpath("//div[@id='D']/following-sibling::div[1]").text # 3.xpath軸 following print driver.find_element_by_xpath("//div[@id='D']/following::*").text # 4.css selector + print driver.find_element_by_css_selector('div#D + div').text # 5.css selector ~ print driver.find_element_by_css_selector('div#D ~ div').text