2017-06-20 20 views
0

我有多個具有相同類名稱的div。我能夠通過findelements代碼檢索所有div。但是我有一個div中的select元素。我試圖檢索div中的select元素。尋找其他元素,如選擇,硒在div中具有相同的類名稱的按鈕

HTML代碼如下。

硒代碼我試過了。

IList <IWebElement> elements = driver.FindElements(By.XPath("//div[@class='className']")); 
    foreach (IWebElement widget in elements) 
    if(widget.FindElement(By.TagName("select").Enabled) 
    ----- Perform sone operations----- 

上面的代碼不工作。任何人都可以提出解決方案來識別選擇元素。

+0

試試這個xpath:「// div [@ class ='className'] // select」。這將選擇包含選擇標籤的div – Abhinav

回答

1

IWebElement element = driver.FindElement(By.XPath("//div[@class='className']//select")); 

會直接讓你要與之交互的選擇標記。

如果恰巧這個返回超過1元,您還可以通過提供一個類或任何其他屬性來選擇標籤上的XPath的,像這樣縮小搜索範圍:

IWebElement element = driver.FindElement(By.XPath("//div[@class='className']//select[contains(@X,'Y')]")); 

其中:
X - 可以是元素的任何屬性(ID,姓名,班級...)
Ÿ - X屬性的子值

舉個例子:
This頁: enter image description here

"//div//ul/li/a"會給你57場比賽;
"//div//ul[contains(@class,'sf-menu')]/li/a"會給你3場比賽;
"//div//ul[contains(@class,'sf-menu')]/li/a[contains(@title,'Dress')]"會給你1場比賽;

祝你好運!

相關問題