从外部跨度获取文本而不使用内部元素的文本

时间:2015-09-23 11:52:29

标签: javascript jquery selenium

我想从Selenium和Javascript中的HTML元素中提取一些文本。

<span class="myAttribute"> 
  <b>SomeValueToIgnore</b> 
  <span class="ignoreWhatsInside">
    <em>ignore_that</em>
  </span>
  GiveMeJustThat_NothingElse
</span>

如何从Javascript / Selenium中的span元素中提取文本'GiveMeJustThat_NothingElse'? 不幸的是,我不能将文本'GiveMe ...'放入自己的标签中,因为这会破坏其他测试。

3 个答案:

答案 0 :(得分:2)

这是错误的方式,但你也可以这样做。

$(".myAttribute").text().split(" ")[$(".myAttribute").text().split(" ").length -1]

答案 1 :(得分:2)

使用jQuery很容易获得javascript的价值。

    var text = $(".myAttribute")
    .clone()    
    .children() 
    .remove()   
    .end()  
    .text();

    console.log('text = ' + text);

答案 2 :(得分:1)

对于Java:
           driver.findElement(by.xpath( '//跨度[@类= “myAttribute”]'))的getText();