Selenium(12):层级定位_通过父元素找到子元素

层级定位

  在实际的项目测试中,经常会遇到无法直接定位到需要选取的元素,但是其父元素比较容易定位,通过定位父元素再遍历其子元素选择需要的目标元素,或者需要定位某个元素下所有的子元素。

  层级定位的思想是先定位父对象,然后再从父对象中精确定位出其我们需要选取的后代元素。

代码如下:

import os
from selenium import webdriver
from selenium.webdriver.common.by import By


current_path = os.path.dirname(os.path.abspath(__file__))  # 当前路径
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe')  # driver路径
pages_path = os.path.join(current_path,'../pages/element_samples.html')  # 本地网页路径
driver = webdriver.Chrome(executable_path=driver_path)  # Firefox,Ie等
driver.get('file://%s'%pages_path)  # 本地网页打开file://  打开部署好的站点http://

# 层级定位  通过父元素找到子元素
driver.find_element(By.XPATH,'//div[@id="checkbox"]').\
    find_element(By.XPATH,'//input[@id="training"]').click()

 

posted @ 2021-11-26 12:27  奔跑在路上you  阅读(4393)  评论(0编辑  收藏  举报