日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

day15 Ui自动化元素的定位

發(fā)布時間:2023/11/30 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 day15 Ui自动化元素的定位 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

day15 元素的定位Ui自動化元素的定位1、火狐瀏覽器安裝try xpath2、元素定位思路:(1)查看頁面元素,確認能夠唯一定位到元素的屬性,比如id,文案3、學習xpath cssSelector 手寫定位方式xpath(xpath 定位盡量已屬性定位為主,層級為輔)//* 獲取當前頁面的全部//*[@id='i1'] 可以通過id屬性進行定位,@代表引用屬性//select[4]如果不存在唯一取值,可以使用角標取值//div[@class='driver'][1]/div[@class='inner'][1]/input 相對路徑層級定位//select[@size='4'and @multiple='multiple'] 多屬性確立唯一 cssSelector 多使用這種方法# 代表id#i1.inner代表class[placeholder="請通過ID定位元素"] 通過屬性定位input[placeholder="請通過ID定位元素"]select[size='4'][multiple="multiple"] 多屬性確立唯一問題一:什么時候用css selector 什么時候用xpath由于css selector 沒有角標定位方式,如果定位的元素無法根據(jù)屬性確立唯一只能通過xpath進行角標定位

4、18種定位方式

from selenium import webdriverdriver=webdriver.Chrome();driver.get("http://ui.imdsx.cn/uitester/")#滾動條到最上面 js="window.scrollTo(0,0)" driver.execute_script(js)""" 8種單數(shù)定位方式 """#id進行定位 # # driver.find_element_by_id("i1").send_keys("11") # # #name定位方式 # # driver.find_element_by_name("name").send_keys("22") # # #文案定位a中的文案 # # driver.find_element_by_link_text("新建標簽頁面").click() # # #1、標簽名定位,如果有很多個相同的標簽,獲取第一個標簽 # #2、最不常用 # # driver.find_element_by_tag_name('input').send_keys('1111')#使用xpath # driver.find_element_by_xpath('//*[@id="i1"]').send_keys("333")#通過css定位 # driver.find_element_by_css_selector("#i1").send_keys("555") # # driver.find_element_by_css_selector('input[name="name"]').send_keys("666")""" 8種復數(shù)定位方式,在8種單數(shù)的基礎是加復數(shù)形式,所有的復數(shù)返回的都是列表 """ # driver.find_elements_by_id()""" 最后兩種 """ driver.find_elements_by_id()#可以按照下面的寫法進行定位 driver.find_element('id','i1') driver.find_elements()

5、瀏覽器相關(guān)操作

from selenium import webdriver""" 使用selenium對瀏覽器的操作 """driver=webdriver.Chrome() driver.get("http://ui.imdsx.cn/uitester/") js="window.scrollTo(0,0)" driver.execute_script(js)#獲取瀏覽器大小 # size=driver.get_window_size() # print(size) # # #設置瀏覽器的大小 # # driver.set_window_size(200,200) #最大化 # driver.maximize_window() # #截圖 # driver.get_screenshot_as_file('aa.png')#執(zhí)行js # driver.execute_script('js')#switch切換瀏覽器窗口 # driver.find_element_by_link_text("新建標簽頁面").click() # # #獲取當前瀏覽器所打開全部tag標識 # print(driver.window_handles) # #獲取當前瀏覽當前tag的表示 # print(driver.current_window_handle) # # handle=driver.window_handles[-1] # #切換到最新的頁面,這個方法過期,已經(jīng)不t推薦使用了 # driver.switch_to_window(handle) # #最新使用這個方法 # driver.switch_to.window(handle) # # driver.close()#勾選checkbox on=driver.find_element_by_css_selector("#on")off=driver.find_element_by_css_selector("#off")#判斷是否已經(jīng)勾選,已勾選返回true,未勾選返回false print(on.is_selected()) print(off.is_selected())#關(guān)閉當前頁面,當一個瀏覽器出現(xiàn)多個頁面 # driver.close() #退出驅(qū)動# driver.quit()

6、iframe相關(guān)操作

from selenium import webdriver""" iframe的操作 """driver=webdriver.Chrome() driver.get("http://ui.imdsx.cn/uitester/") js="window.scrollTo(0,0)" driver.execute_script(js)#切換iframe driver.switch_to.frame("top-frame")driver.find_element_by_css_selector("#newtag").send_keys("1111")driver.switch_to.frame("baidu-frame") driver.find_element_by_css_selector("#kw").send_keys("222") #返回上一層 driver.switch_to.parent_frame() driver.find_element_by_css_selector("#newtag").click()#直接返回默認層 driver.switch_to.default_content()

7、頁面彈框相關(guān)操作

from selenium import webdriver import time""" 彈框的操作 """driver=webdriver.Chrome() driver.get("http://ui.imdsx.cn/uitester/") js="window.scrollTo(0,0)" driver.execute_script(js)#點擊出現(xiàn)彈框 # driver.find_element_by_css_selector("#alert").click() # # time.sleep(2) # #點擊確認 # driver.switch_to.alert.accept()#取消按鈕 driver.find_element_by_css_selector("#confirm").click() time.sleep(2) driver.switch_to.alert.dismiss()

8、select相關(guān)操作

from selenium import webdriver import time""" select相關(guān)操作 """driver=webdriver.Chrome() driver.get("http://ui.imdsx.cn/html/") js="window.scrollTo(0,1800)" driver.execute_script(js)sele=driver.find_element_by_xpath('//select[1]')from selenium.webdriver.support.select import Select#select模塊只支持select元素 #value=4的元素 Select(sele).select_by_value("4") #角標為第3個的元素 Select(sele).select_by_index(3)

9、鼠標懸浮的相關(guān)操作

1 element=driver.find_element_by_css_selector("#dis1") 2 3 #判斷元素是否可見,可見返回true,不可見返回false 4 5 print(element.is_displayed()) 6 7 from selenium.webdriver.common.action_chains import ActionChains 8 #1、先定位到鼠標要懸浮的元素 9 a=driver.find_element_by_css_selector("#a") 10 dis1=driver.find_element_by_css_selector('#dis1') 11 #2、將鼠標移動到元素上,再進行點擊 12 ActionChains(driver).move_to_element(a).click(dis1).perform()

10、鼠標的拖拽操作

?

1 from selenium import webdriver 2 import time 3 4 """ 5 鼠標拖拽相關(guān)操作 6 """ 7 8 driver=webdriver.Chrome() 9 driver.get("http://ui.imdsx.cn/move/") 10 11 s1=driver.find_element_by_css_selector('#dragger1') 12 13 t1=driver.find_element_by_css_selector('#i1') 14 15 from selenium.webdriver.common.action_chains import ActionChains 16 17 #從s1拖拽到t1 18 ActionChains(driver).drag_and_drop(s1,t1).perform()

?

轉(zhuǎn)載于:https://www.cnblogs.com/zzzao/p/11108374.html

總結(jié)

以上是生活随笔為你收集整理的day15 Ui自动化元素的定位的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。