Selenium - 查找仅用双引号括起来的文本

时间:2016-03-23 08:41:14

标签: java html selenium xpath selenium-chromedriver

我正在尝试从一组网页中检索文本,但我想要检索的一些文本未包含在任何标记中。我可以轻松地检索其余的内容,但在每个页面上都有一段文字只用双引号括起来,没有别的。 目前我能够找到它所在的元素,但是该元素中还有很多其他内容,所以是否可以指定一个进入该元素的xpath并专门检索用双引号括起来的文本?

编辑: 下面是我要检索的内容,h1-tag下面的两行文本。元素中有更多内容,但没有任何相关性。因此,我正在寻找的xpath是“在文章元素中找到任何未封闭的文本,其中包含类”widget-content“。

<article class="widget-content">
    
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="/Modules/Orchard.jQuery/scripts/jquery-1.9.1.js" type="text/javascript"></script>


    <h1>Placeholder title</h1>
Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text Placeholder text    <br />
    <br />
Placeholder: Another placeholder    <br />
    <br />

3 个答案:

答案 0 :(得分:0)

应该是这样的:

xpath=//article[contains(@class, 'widget-content')]/article[1]

答案 1 :(得分:0)

您的xpath应该是这样的:

//article/text()

它只会输出任何tag以外的文字。

希望它有所帮助!

答案 2 :(得分:0)

问:因此,我正在寻找的xpath是&#34;在文章元素中找到任何未封闭的文本,其中包含类&#34; widget-content&#34;。
这将是:

//article[@class='widget-content']/text()

但是这将包含一系列空文本节点(仅限空格)以避免它们尝试:

//article[@class='widget-content']/text()[normalize-space() !='']  

问:以下是我要检索的内容,h1-tag下方的两行文字。

这将是(/h1/following-sibling::text()),或者全部在一起:

"//article[@class='widget-content']/h1/following-sibling::text()[normalize-space() !='']"