2017-09-04 42 views
0

我需要的硒網絡驅動span元素無法確定定製的複選框元/需要相關的XPath

<span class="icon"></span> 

的相關的XPath。

<span class="custom-checkbox"> 
      <input id="personalization1" name="personalization-terms-check" class="personalization-terms-check required" value="accept" type="checkbox"> 
      <label for="personalization1"> 
       <span class="icon"></span> 
       <span class="order-ready-text">yes! I double-checked all personalization entered above and i'm ready to order</span> 
      </label> 
</span> 

需要在上述HTML span元素

<span class="icon"> 

相對XPath和我得到的相對路徑:
//*[@id="main"]/div[3]/div[4]/div[2]/div/span/label/span[1].

請幫我得到一個相關的XPath或以其他方式點擊跨度

注:

<span class="icon"> 

它可以是多個,所以我需要唯一相關的XPath。

+0

什麼是你有什麼問題? *無法點擊*並不意味着什麼 – Guy

+0

我需要獨特的相對xpath Purvi

+0

.//input[@id='personalization1']試試這個 – iamsankalp89

回答

0

試試這個XPath點擊複選框:

.//input[@id='personalization1'] 

,或者您可以使用此XPath

.//span[contains(text(),'yes! I dou')] 
+0

你有沒有試試這個? – iamsankalp89

0

你可以像下面執行任何操作之前等待元素的可視性。

WebElement element=driver.findElement(By.xpath("//*[@name='personalization-terms-check']/following-sibling::label/span")); 

WebDriverWait wait = new WebDriverWait(driver, 60); 
wait.until(ExpectedConditions.visibilityOf(element)); 

element.click(); 

您可以使用不同的xpath或id來定位元素。如果頁面上只有一個個性化術語複選框,則上述xpath映射將是唯一的。

0

你可以試試這個xpath嗎?

"//label[@for='personalization1']/span[1]" 

希望這會有所幫助。謝謝。

0

試試這個:

試試這個XPath -

//input[@id='personalization1']/label/span