2016-05-24 67 views
1

考慮下面的代碼片段如何使用selenium web驅動程序獲取帶有下一個div值的標籤名稱?

<div class="contentInput medium wrapText"> 
<label class="ng-binding">Number1</label> 
<div title="10000" class="readOnlyInput clearB wrapText text-left ng-binding">10000</div> 
</div> 
<div class="contentInput medium wrapText"> 
<label class="ng-binding">Number2</label> 
<div title="10050" class="readOnlyInput clearB wrapText text-left ng-binding">10050</div> 
</div> 
<div class="contentInput medium wrapText"> 
<label class="ng-binding">Number2</label> 
<div class="readOnlyInput clearB wrapText text-left ng-binding">....</div> 
</div> 

請幫我解決了問題,下面

  1. 我怎樣才能得到下一個DIV值的標籤?
    例如,我需要將Number1的值設爲10000,將Number2的值設爲10050,將Number3的值設爲BLANK。
  2. 如果我將標籤作爲輸入,那麼它的值應該從該標籤的下一個div中返回?
    例如,如果1號是作爲輸入,然後10000值應返回
+0

分享您的代碼和網站。這樣很難解決。 :-) –

+0

所以,你在尋找xpath,對嗎? – Rao

回答

1

它應該非常簡單如下:

String labelText = driver.findElement(By.xpath("//div[label = 'Number1']/div")).getText();

您甚至可能不需要一種方法,因爲它只是一條線。如果您想要div其他標籤的值,例如Number2,則只需替換該值即可。

您使用xpath的方式使其更簡單。

+0

我也試過這一步,它工作正常.. – Subburaj

1

請嘗試下面的代碼:

public string getLabelValue(String labelText) 
{ 
    List <WebElement> outerDiv= driver.findElements(By.xpath("//div[@class='contentInput medium wrapText']")); 
    for (WebElement div: outerDiv) { 
     if(div.findElements(By.tagName("label").getText().equals(labelText))){ 
      return div.findElements(By.tagName("div").getText(); 
     } 
    } 
    return "Label Not Found". 
} 
0

你好,請嘗試像下面

// taking under consideration that we have same number of label 
// tag with its corresponding div tag 

// Take label tag and div tag in list 
List<WebElement> myLabels = driver.findElements(By.cssSelector(".ng-binding")); 
List<WebElement> myDivs = driver.findElements(By.cssSelector(".readOnlyInput.clearB.wrapText.text-left.ng-binding")); 
String UserInputLabelValue = "Number2"; 
// now size of myLabels = myDivs hence 
for(int i=0;i<myLabels.size();i++){ 
    if(myLabels.get(i).getText().equals(UserInputLabelValue)){ 
    System.out.println("Div value is against " + UserInputLabelValue + " is : " + myDivs.get(i).getText()); 
      } 
     } 
相關問題