1. 程式人生 > >class空格多類名

class空格多類名

fin select self ring bsp table 怎麽 pad nbsp

1.class屬性唯一但是有空格,選擇空格兩邊唯一的哪一個

<div id="tempConfigTable" class="dtb-style-1 table-dragColumns" style="height: 371px; position: relative;">

<th id="" tid="grid-row-2" class="tabth  field_security_dispay txt-left ">

2.class屬性科普

? class屬性中間的空格並不是空字符串,那是間隔符號,表示的是一個元素有多個class的屬性名稱,class屬性是比較特殊的一個,除了class這個元素類型有多個屬性外,其他的像name,id是沒多個屬性的。

3.class的定位

? 既然知道class屬性有空格就是有多個屬性了,那麽定位的時候取其中一個就行(並且要確定他的唯一性),也就是說 class="dtb-style-1 table-dragColumns"這兩個屬性選其中一個就行,取dtb-style-1 or table-dragColumn都是可以的,只要想辦法保持唯一性就行。

4.判斷元素唯一性

? F12切換到HTML界面,Ctrl + f 出現搜索框然後輸入關鍵字如:然後回車,如圖所示:

技術分享圖片

5.class屬性不唯一怎麽辦

? 如果這個class的多個屬性都不唯一怎麽辦?元素不唯一不要慌,可以用復數定位,把所有相同元素定位出來,按下表取第幾個就行。

如:

self.driver.find_elements_by_class_name(‘table-dragColumn‘)[0].click()

6.css定位

? css定位class多個屬性時要給元素前面加個點(.)就行,然後空格變成了點(.)就能定位了

?當然css也可以取class屬性的其中一個屬性(保證唯一性)來定位,定位方法是靈活多變的。

如:

?css定位:

self.driver.find_element_by_css_selector(‘.dtb-style-1.table-dragColumns‘).click()#前面加(.)空格地方用點(.)來代替

?class單個屬性定位

1 self.driver.find_element_by_css_selector(‘.table-dragColumns‘).click()#用單個屬性來定位前面加個(.) 

?直接包含空格的css定位神器

self.driver.find_element_by_css_selector(‘class="dtb-style-1 table-dragColumns‘).click()#包含整個類

class空格多類名