層級定位
在實際的項目測試中,經常會遇到無法直接定位到需要選取的元素,但是其父元素比較容易定位,通過定位父元素再遍歷其子元素選擇需要的目標元素,或者需要定位某個元素下所有的子元素。
層級定位的思想是先定位父對象,然后再從父對象中精確定位出其我們需要選取的后代元素。
代碼如下:
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()