2016-07-07 113 views
0

我需要在下面的HTML代码中获取data-id的值。获取元素的值

我试图代码:如下图所示

//p[contains(.,'Smart card')]/following-sibling::button[@data-id='633597015500043521']")); 

我的HTML代码:

<form class="select-card-form" novalidate="" method="post"> 
     <input type="hidden" value="SmartCardSelect_3ca61d51-e601-40de-80fd-308bc47b52c6" name="FormName"> 
     <input type="hidden" value="d79cf158-93ad-4c77-b4bc-516ce8b28302" name="CardId"> 
     <div class="select-item "> 
       <p>Smart card 1</p> 
      <button class="submit-btn uniform-button button-smaller button-orange select-address" data-id="633597015500043521"> 
       <span>Select</span> 
      </button> 
     </div> 
    </form> 
+1

编程语言? – Andersson

+1

[在webdriver中如何获取div中的属性值]可能的副本(http://stackoverflow.com/questions/17592786/how-to-get-attribute-value-inside-a-div-in-webdriver) – JeffC

+0

请在发布之前通过HTML美化工具运行您发布的HTML,如http://www.cleancss.com/html-beautify/。它会使阅读更容易。 – JeffC

回答

1

解决这个(JAVA):

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("div.select-item > button")))); 
String value = element.getAttribute("data-id"); 
0

Java代码片断

WebElement element = driver.findElement(By.xpath("//form[@class='select-card-form']//div[@class='select-item ']//button")); 
element.getAttribute("data-id"); 

希望这会有所帮助。