基本定位
"""屬性定位 一 """
# #通過id
# driver.find_element_by_css_selector("#kw").send_keys(u"部落格園")
# #通過class
# driver.find_element_by_css_selector(".s_ipt").send_keys(u"部落格園")
#通過标簽 數量過多的情況下需要增加标簽過濾
# driver.find_element_by_css_selector("span>input:nth-child(2)").send_keys(u"部落格園")
# #其他屬性
# driver.find_element_by_css_selector("[name = 'wd']").send_keys(u"部落格園")
# driver.find_element_by_css_selector("[autocomplete = 'off']").send_keys(u"部落格園")
"""CSS 組合定位 二"""
"""父子關系的書寫模式form.fm>span"""
# driver.find_element_by_css_selector("form.fm>span>input.s_ipt").send_keys(u"部落格園")
# driver.find_element_by_css_selector("form.fm>span>input#kw").send_keys(u"部落格園")
"""定位list 取某一個"""
# print driver.find_element_by_css_selector(".mnav:nth-child(1)").text
# driver.find_element_by_css_selector(".mnav:nth-child(1)").click()
"""CSS 邏輯運算,多條件組合定位-----沒有定位到,不知道原因"""
# driver.find_element_by_css_selector("[type='text'][name='wd']").send_keys(u"部落格園")
css其他定位方式
定位輸入框
一:單一屬性定位
1:type selector
driver.find_element_by_css_selector('input')
2:其他屬性定位
driver.find_element_by_css_selector('[name='wd']')
driver.find_element_by_css_selector("[type='text']")
二:組合屬性定位
1:id組合屬性定位
driver.find_element_by_css_selector("input#kw")
2:class組合屬性定位
driver.find_element_by_css_selector("input.s_ipt")
3:其他屬性組合定位
driver.find_element_by_css_selector("input[name='wd']")
4:僅有屬性名,沒有值也可以
driver.find_element_by_css_selector("input[name]")
5:兩個其他屬性組合定位
driver.find_element_by_css_selector("[name='wd'][autocomplete='off']")
6:模糊比對屬性值方法
以百度首頁點選按鈕為例
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SN5ImN1ETM2IjM2gTY0QTNlNzY3IDMjhTNkJGMyUWO28CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
1>屬性值由多個空格隔開,比對其中一個值的方法
driver.find_element_by_css_selector("input[class~='btn']")
2>比對屬性值為字元串開頭的方法
driver.find_element_by_css_selector("input[class^='btn']")
3>比對屬性值字元串結尾的方法
driver.find_element_by_css_selector("input[class$='s_btn']")
4>比對被-分割的屬性值的方法,如上圖的class
driver.find_element_by_css_selector("input[class|='s']") #要求精确填寫的屬性值
三:層級定位
1:E>F E下面的F這個元素
driver.find_element_by_css_selector('from#form>span>input')#id是form的form下面的span下面的input
2:E:nth-child(n) 如上圖,
driver.find_element_by_css_selector('#u_sp > a:nth-child(1)')#id為u_sp的下面的第一個a标簽。
#實測,這個定位不到,但是方法是對的,- -
3:E:nth-last-child(n),如字面意思:倒數第幾個标簽
4:E:first-child,第一個标簽
5:E:last-child,最後一個标簽
6:E:only-child,唯一的标簽
淺析CSS——元素重疊及position定位的z-index順序
多次在項目中遇到html頁面元素的非期待重疊錯誤,多數還是position定位情況下z-index的問題.其實每次解決類似問題思路大緻都是一樣的,說到底還是對z-index的了解比較模糊,可以解決問題 ...
css元素position定位和z-index
網頁元素定位 1.注意點: 1)給元素設定高度要小心,除非給已知大小的圖檔設定高度,否則無法得知指定元素在頁面上會有多高.此時最好通過padding等來控制高度. 2)對于同一個元素,不要講float ...
CSS定位:幾種類型的position定位的元素
當人們剛接觸布局的時候都比較傾向于使用定位的方式.因為定位的概念看起來好像比較容易掌握.表面上你确切地指定了一個塊元素所處的位置那麼它就會坐落于那裡.可是定位比你剛看到的時候要稍微複雜一點.對于定位來 ...
[轉載]CSS元素的定位position
CSS元素的定位position 屬性position 值 描述 absolute 生成絕對定位的元素,相對于 static 定位以外的第一 ...
(轉)淺析CSS——元素重疊及position定位的z-index順序
多次在項目中遇到html頁面元素的非期待重疊錯誤,多數還是position定位情況下z-index的問題.其實每次解決類似問題思路大緻都是一樣的,說到底還是對z-index的了解比較模糊,可以解決問題 ...
UI自動化測試(二)浏覽器操作及對元素的定位方法(xpath定位和css定位詳解)
Selenium下的Webdriver工具支援FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...
selenium之元素定位-css
CSS定位方式和XPATH定位方式基本相同,隻是CSS定位表達式有其自己的格式.CSS定位方式擁有比XPATH定位速度快,且比XPATH穩定的特性.下面詳細介紹CSS定位方式的使用方法 被測網頁的HT ...
Python+Selenium 利用ID,XPath,tag name,link text,partial link text,class name,css,name定位元素
使用firefox浏覽器,檢視頁面元素,我們以“百度網頁”為示例 一.ID定位元素 利用find_element_by_id()方法來定位網頁元素對象 ①.定位百度首頁,輸入框的元素 ②.編寫示 ...
CSS元素定位
使用 CSS 選擇器定位元素 CSS可以通過元素的id.class.标簽(input)這三個正常屬性直接定位到,而這三種編寫方式,在HTML中編寫style的時候,可以進行辨別如: #su ...
随機推薦
Devexpress Gantt 應用
甘特圖屬于甘特系列浏覽次數(也稱為時間或時間軸圖表).此視圖顯示橫條沿時間軸.每個條形代表一個單獨的事件的開始和結束的值, 是以,這些圖是用來跟蹤各種活動的時間範圍内(例如計劃,利用各種資源,審查該項 ...
iOS10 UI教程視圖和子視圖的可見性
iOS10 UI教程視圖和子視圖的可見性 iOS10 UI教程視圖和子視圖的可見性,一個父視圖可以通過clipsToBounds屬性,定義子視圖在邊界(邊界就是父視圖的架構也就是父視圖可以顯示的範圍) ...
js實作快速排序(in-place)簡述
快速排序,又稱劃分交換排序.以分治法為政策實作的快速排序算法. 本文主要要談的是利用javascript實作in-place思想的快速排序 分治法: 在計算機科學中,分治法是建基于多項分支遞歸的一種很 ...
SMTP郵件發送指令
第一步,遠端登入smtp伺服器 在指令行視窗輸入 telnet smtp.163.com 25 然後回車第二步,使用者登入 輸入 helo 163.com 回車,這是向伺服器表明你的使用者身份250 OK ...
更改nginx網站根目錄
預設網站根目錄為/usr/local/nginx/html,要将它改成/homw/www vi /usr/local/nginx/conf/nginx.conf 将其中的 loca ...
ThinkPHP3.2 實作Mysql資料庫備份
【轉】CSS3 Box-sizing
box-sizing是CSS3的box屬性之一.一說到CSS的盒模型(Box model)我想很多人都會比較煩,特别是對于新手,然而這個Box model又是我們CSS運用中比較重要的一個屬性.那麼C ...
oracle for update和for update nowait的差別 - 轉
1.for update 和 for update nowait 的差別: 首先一點,如果隻是select 的話,Oracle是不會加任何鎖的,也就是Oracle對 select 讀到的資料不會有任何 ...