2016-08-01 65 views
0
<input id="lblProductName+Modem promo +default" 
    class="cmpAvailableSingleSelectProduct-radioButton" 
    type="radio" 
    onclick="cmpAvailableSSProductRadioToggleHandler(event, this,'Line_0.DSL.modemcre_s021403', 'false');" 
    name="defaultLine_0.DSL.modemcre_s021403Modem promo"> 

上述類型是一個單選按鈕,其中id基於下一個div標記。定位基於相鄰文本的單選按鈕的xpath

<div class="cmpAvailableSingleSelectProduct-lblProductName">Modem promo - 100 </div>

我知道會有怎樣的名稱(調制解調器促銷 - 100)在div類中。但我想點擊旁邊的單選按鈕。我將以字符串形式獲得「Modem promo - 100」的價值。我想與文本進行比較,然後單擊相鄰的單選按鈕。

請幫我寫如何寫xpath或找到webElement。謝謝!

+0

如果您想根據接下來的div元素,試試這個定位器'上定位單選按鈕// div [contains(@class,'cmpAvailableSingleSelectProduct-lblProductName']/preceding-sibling :: input /'希望它有幫助! – Harish

+0

但我有多個cmpAvailableSingleSelectProduct。我只需要一種方法來根據div中的值來定位元素是**調制解調器促銷 - 100 ** – Mathan

+0

'// div [contains(@class,'cmpAvailableSingleSelectProduct-lblProductName')and text()='Modem pr omo - 100']/preceding-sibling :: input /' - 試試這個 – Harish

回答

0

你應該嘗試使用下面的XPath: -

String ValueOfPromo = "Modem promo - 100"; 

String xpath = "(.//div[contains(.,'" +ValueOfPromo+ "')]/preceding::input)[1]"; 

driver.findElement(By.xpath(xpath)); 

希望它能幫助.. :)

+0

謝謝Saurabh。將檢查並讓你知道。 – Mathan