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
#切換iframedriver.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...