1、第一種xpath路徑定位:
絕對路徑:表達式是以 /html開頭,元素的層級之間是以 / 分隔相同層級的元素可以使用下標,下標是從1開始的需要列出元素所經過的所有層級元素,工作當中一般不使用絕對路徑
例:/html/body/div/fieldset/form/p[1]/input
絕對路徑了解下就好了 。。
相對路徑:匹配任意層級的元素,是以//tag_name或者//開頭,也可以使用下標,下標是從1開始。//p[5]/button
# 導包selenium
from selenium import webdriver
import time
# 創建瀏覽器驅動對象
driver = webdriver.Chrome()
# 打開測試網站
driver.get("file:///E:/%E5%AD%A6%E4%B9%A0%E7%9B%B8%E5%85%B3/%E8%87%AA%E5%8A%A8%E5%8C%96%E7%9B%B8%E5%85%B3/02/UI%E8%87%AA%E5%8A%A8%E5%8C%96V5.0%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/web%E7%AB%AF%E7%8E%AF%E5%A2%83/web%E8%AF%BE%E5%A0%82%E7%B4%A0%E6%9D%90/web/%E6%B3%A8%E5%86%8CA.html")
# 使窗口最大化
driver.maximize_window()# 使用相對路徑定位用戶名輸入框,并輸入:123
driver.find_element_by_xpath("//p[2]/input").send_keys("123")
# 等待3秒
time.sleep(3)
# 退出瀏覽器
driver.quit()
其實元素定位,只是用的方法不一樣而已,find_element_by_xpath 、find_element_by_name、find_element_by_class、find_element_by_id
獲取屬性值時寫法也要不一樣,例如:
find_element_by_xpath:// 寫路徑定位
find_element_by_name:定位到后再找元素的屬性名是name的
find_element_by_id:定位到后再找元素的屬性名是id的