2013-07-11 53 views
1

使用cssSelecter匹配的元素我有我的網頁2元什麼是更嚴格的方式webdriver的

元素1:<div class="DynarchCalendar-day DynarchCalendar-day-othermonth" dyc-type="date" unselectable="on" dyc-date="19960429">

元素2:<div class="DynarchCalendar-day" dyc-type="date" unselectable="on" dyc-date="19960501">

,如果我做

List<WebElement> DynarchCalendar_day = driver.findElements(By 
        .cssSelector("div.DynarchCalendar-day")); 

我將得到包含元素1和元素2的WebElements列表

如果我做

List<WebElement> DynarchCalendar_day = driver.findElements(By 
        .cssSelector("div.DynarchCalendar-day.DynarchCalendar-day-othermonth")); 

我會得到僅含元素WebElements列表1

我能做些什麼來得到的只有2元?

+1

它們在HTML中是否彼此相鄰?或者它們在HTML中的座標有何不同? (例如,他們是兩個*不同* div的孩子嗎?) – Arran

回答

1

您可以使用not找到DynarchCalendar-day的div,但不是DynarchCalendar-day-othermonth

的CSS選擇器將是:

"div.DynarchCalendar-day:not(.DynarchCalendar-day-othermonth)" 
+0

這就是我正在尋找的感謝justin –

+0

我想知道如果你可以粘貼一些鏈接,這將有助於我理解css選擇器更好:) –

+0

你能幫我嗎?請檢查http://stackoverflow.com/questions/17675848/webdriver-2-0-session-expire-error-for-a-popup-window-if-an-instance-of-ie-ie –

0

使用:not(),但在舊Internet Explorer不能作品(7,8)。 也可以使用div[class='DynarchCalendar-day']。它看起來確切的巧合。

+0

非常感謝!但在我的情況下,我不想與'DynarchCalendar-day'完全匹配 –

相關問題