定位方法 xpath,css

2022-10-10 10:24:10 字數 1950 閱讀 5970

1.xpath (唯一定位的方式)

//*[@id='id']

//*[@type ='id']

//*[@plachoder='id']

//input[@id='id']

先訪問父級

//div[@class='driver']/input[id =il]

聯合唯一定位

選擇 下拉

//selenium[@name='city'and '@size='4']

xpath 和css的區別 ,只有用xphth用有角標定

css

#id.class 

input[id =i1]

input[id =i1][clss='c1']

input[id^='已什麼開始']

input[id$='以生命結束']

input[id*='']

div>input

selenium定位方式

8種單數

driver.find_element_by_xpath('//input[@placeholder="使用者名稱"]').send_keys('songxueyan')

driver.find_element_by_css_selector('input[type="password"]').send_keys('123456')

driver.find_element_by_name('kaptcha').send_keys('2111')

driver.find_element_by_xpath('/html/body/div/div/div[2]/form/div[6]/div/button').click()

driver.find_element_by_link_text('使用者管理').click()
driver.find_element_by_tag_name('input').send_keys()'''
8種複數

2種底層

三種切換

tab

driver.switch_to.window(driver.window_handles[-1])(-1,取我們最新的)
driver.switch_to.window(driver.window_handles[0]取第乙個

close ,即使關閉

aleart

確認,取消

driver.switch_to.alert.accept()#確認

driver.switch_to.alert.dismiss()#取消

iframe

#切換iframe

driver.switch_to.frame()

#切換回來

driver.switch_to.parent_frame()

要求一層一層的切換

#回到預設層

driver.switch_to.default_content()'''

js.dom語句

顯示等待

通過time除錯

隱士顯示 必須每次都用

網路超時 步長05s, 一共10s,每隔0.5s,會請求一次,會請求20,還不行會報錯

timeout

出現這個問題可能出現,可能出現介面出現問題

遇到定位不到的元素,怎麼排查

分析html,看清楚我們是我們要用的唯一的屬性

2.清父子級關係

3.也沒有瀏覽器tab要切換

4.排查有沒有iframe

5.排查元素元素呼叫的時候,頁面是否有沒有宣傳了

6.定位的元素是否有display屬性

7.不用顯示等待,同time等待方式,確保原始是可以點選

8.是不是需要連貫的操作

9.考慮定位是不是定位寫錯了

定位方法之xpath定位

1 xml 可擴充套件標記語言,是對html的擴充套件,語法和html相似,只是它的標記和屬性是可以自己根據業務需要來定義的,而html裡的標記和屬性都是固定的。2 xpath xml path,就是xml路徑語言,是在xml裡查詢元素或屬性的一種技術,用描述元素在整個檔案裡所在路徑的方式來查詢資訊...

定位方法之css selector定位

1.css層疊樣式表,修飾html或xml的檔案樣式,css裡包含selector選擇器的技術,可以選擇介面上的元素 也就是我們所說的定位元素 可以像xpath一樣描述元素的特徵或路徑。優點是比xpath定位元素速度更快 更簡潔短小,缺點是功能沒有xpath強大,不能向前查詢。css定位和xpath...

css定位方法

第乙個後代元素 first child 最後乙個子元素 last child nth child n 選取第幾個標籤,n可以是你想要的數字 css 列指示該屬性是在哪個 css 版本中定義的。css1 css2 還是 css3。例子 例子描述 css.class intro 選擇class intr...