2015-08-13 6 views
4

Это содержание HTMLПолучить текстовое содержимое элемента HTML с помощью XPath

<p class="ref Hover"> 
    <b class="Hover Hover Hover Hover Hover">Mfr Part#:</b> 
    MC34063ADR2G<br> 
    <b>Mounting Method:</b>&nbsp; 
    Surface Mount<br> 
    <b>Package Style:</b>&nbsp; 
    SOIC-8<br> 
    <b>Packaging:</b>&nbsp; 
    REEL<br> 
</p> 

Использование ниже XPath я могу получить только «Произв Part #:».

//div[@id='product-desc']/p[2]/b[1]/text() 
//div[@id='product-desc']/p[2]/b[1] 

Но я хочу "Произв Part #: MC34063ADR2G"

ответ

2

Ваш MC34063ADR2G должен быть

//div[@id='product-desc']/p[2]/text()[2] 
0

вы можете просто использовать //b[contains(@class, 'Hover')]

0

Вы можете попробовать это, надеюсь, что это будет Помощь

String text=driver.findElement(By.xpath("//p[contains(@class, 'Hover')]")).getText(); 
    String[] temp=text.split("\\bMounting\\b"); 
    System.out.println(temp[0]); 
2

Вы можете использовать following-sibling оси, чтобы получить текст узла следующего <b> элемента, который вы уже успели выбрать, например, учитывая текущий контекст элемент является <b> элементом:

following-sibling::text()[1] 

или используя полный XPath:

//div[@id='product-desc']/p[2]/b[1]/following-sibling::text()[1] 
Смежные вопросы