2017-09-04 15 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> 

span要素上記のhtmlで

<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マップは、ページ上のパーソナライズ用語チェックボックスが1つだけの場合は一意でなければなりません。

0

このxpathで試すことができますか?

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

これが役に立ちます。ありがとう。

0

これを試してみてください:

このXPathを試してみてください -

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

関連する問題