2017-02-17 17 views
0

Я хочу найти элемент по xPath, который я только что скопировал из браузера HTML-просмотра. Есть ли хороший способ его использовать? Как я могу найти этот элемент?Как найти элемент по Full xPath в Selenium PhantomJS

Например это:

1) HTML

<span class="fifth-star star-common" data-star-index="5" jsaction="click:JdtzLb;mouseenter:UYGLjf"> </span> 

XPATH

/html/body/div[9]/div/div/div/div[1]/div/div/div[4]/div/div[2]/div[2]/div[4]/div/div/div[1]/div[1]/span[5] 

2) HTML

<a class="actionlink" href="javascript:CCommentThread.DeleteComment('PublishedFile_Public_76561198045856086_852822766_0', '133257324794187128');">Удалить</a> 

XPATH

//*[@id="comment"]/div[2]/div[1]/a[2] 

Я попробовал этот способ

driver.findElement(By.xpath("/html/body/div[9]/div/div/div/div[1]/div/div/div[4]/div/div[2]/div[2]/div[4]/div/div/div[1]/div[1]/span[5]")); 

И это

driver.findElement(By.xpath("//*[@id=\"comment\"]/div[2]/div[1]/a[2]")); 
+0

Для хорошего пути, вам необходимо обмениваться HTML, а также ... :) –

+0

@Saurabh Gaur Done –

+0

ли оба элемента HTML уникальны ?? Если не только HTML-код элемента недостаточно, чтобы найти его однозначно, нужно разделить блок HTML. спасибо .. :) –

ответ

0

Используйте single quotes в XPATH вместо того, чтобы избежать нас ING \

попробовать этот способ:

driver.findElement(By.xpath("//*[@id='comment']/div[2]/div[1]/a[2]")); 

пожалуйста, поделитесь блок кода, в случае более эффективной XPATH.


Другие способы:

driver.findElement(By.xpath("//a[starts-with(@href,'javascript:CCommentThread.DeleteComment')]")); 
+0

'' 'ReferenceError: By не определено''' – Suisse

+0

import По классу в вашем коде' org.openqa.selenium.By' –