xpath定位在業界被戲稱為元素定位的"屠龍寶刀",寶刀在手,武林我有。現在我們就來詳解xpath定位方法。
xpath可以通過元素的屬性來定位,如id,name,class,type等屬性,元素的任意屬性值都可以通過xpath來定位,只要這個屬性值能唯一的標識乙個元素
**:
#**:coding = utf-8
from time import
sleep
from selenium import
webdriver
#驅動檔案路徑
driverfile_path = r'
d:\coship\test_framework\drivers\chromedriver.exe'#
啟動瀏覽器
driver = webdriver.chrome(executable_path=driverfile_path)
#driver.get(r'
')#用xpath通過id屬性來定位搜尋框
#driver.find_element_by_xpath("//*[@id='kw']").send_keys('selenium')
#用xpath通過name屬性來定位搜尋框
##driver.find_element_by_xpath("//*[@name='wd']").send_keys('selenium')
#用xpath通過class屬性來定位搜尋框
#driver.find_element_by_xpath("//*[@class='s_ipt']").send_keys('selenium')
#用xpath通過maxlength屬性來定位搜尋框
#driver.find_element_by_xpath("//*[@maxlength='255']").send_keys('selenium')
#用xpath通過autocomplete屬性來定位搜尋框
driver.find_element_by_xpath("
//*[@autocomplete='off']
").send_keys('
selenium')
#等待5秒
sleep(5)#退出
driver.quit()
#如果乙個元素本身沒有可利用的屬性來定位,那麼我們可以先找到它的上一級(父元素),再通過上一級來找到它。以此類推,如果它的上一級也沒有可以定位的屬性值,那麼再找上上一級,直到找到可以定位到的那一級元素coding = utf-8
from time import
sleep
from selenium import
webdriver
#驅動檔案路徑
driverfile_path = r'
d:\coship\test_framework\drivers\chromedriver.exe'#
啟動瀏覽器
driver = webdriver.chrome(executable_path=driverfile_path)
#driver.get(r'
')#用xpath限定標籤名為input並通過id屬性來定位搜尋框
driver.find_element_by_xpath("
//input[@id='kw']
").send_keys('
selenium')
#等待5秒
sleep(5)#退出
driver.quit()
**:
#有時候,同一層級下有多個相同標籤的元素,那麼我們就只能通過標籤索引來精確定位到元素了coding = utf-8
from time import
sleep
from selenium import
webdriver
#驅動檔案路徑
driverfile_path = r'
d:\coship\test_framework\drivers\chromedriver.exe'#
啟動瀏覽器
driver = webdriver.chrome(executable_path=driverfile_path)
#driver.get(r'
')#用xpath通過上上一級來定位搜尋框
driver.find_element_by_xpath("
//*[@id='form']/span/input
").send_keys('
selenium')
#等待5秒
sleep(5)#退出
driver.quit()
#驅動檔案路徑
driverfile_path = r'
d:\coship\test_framework\drivers\chromedriver.exe'#
啟動瀏覽器
driver = webdriver.chrome(executable_path=driverfile_path)
#driver.get(r'
')driver.find_element_by_id('kw
').send_keys('
selenium')
#driver.find_element_by_xpath("
//*[@id='form']/span[2]/input
").click()
#等待5秒
sleep(5)#退出
driver.quit()
如果乙個屬性不能唯一地區分乙個元素,需要兩個或者兩個以上的屬性才能定位到元素,那麼我們可以用邏輯運算子來連線兩個或多個屬性來定位元素,支援與(and),或(or),非(not)
**:
#coding = utf-8
from time import
sleep
from selenium import
webdriver
#驅動檔案路徑
driverfile_path = r'
d:\coship\test_framework\drivers\chromedriver.exe'#
啟動瀏覽器
driver = webdriver.chrome(executable_path=driverfile_path)
#driver.get(r'
')#用xpath通過通過邏輯運算and來定位搜尋框
driver.find_element_by_xpath("
//*[@id='kw' and @name='wd']
").send_keys('
selenium')
#等待5秒
sleep(5)#退出
driver.quit()
Selenium使用Xpath定位
應該是不全面的,暫時整理這些,後續補充吧。1.絕對路徑 格式 driver.find element by xpath 絕對路徑 例子 driver.find element by xpath html body div x form input x 代表第x個 div標籤 索引從1開始 當頁面元素...
selenium元素定位Xpath
1.絕對路徑定位 用標籤的層級關係來定位元素,最外層語言為html,接著是body,一級一級的往下找,如果同一級,有多個相同的標籤,那麼按照上下順序確定第幾個,例 div 2 表示當前層級下第二個div 2.元素屬性定位 利用元素的屬性來定位元素 find element by xpath 元素名或...
selenium中xpath元素定位
常用的元素定位有id,class,name,xpath,css,jquery,其中xpath我們用的比較多,這裡總結一下xpath的元素定位技巧 1 通過絕對路徑來定位,一般很少用這種方法 body div div div div div form 這種從body標籤一層層往下找非常繁瑣且層數越多越...