获取html节点的HREF

时间:2015-06-19 23:08:13

标签: javascript html css xpath

我的页面位于this

图片位于http://www.entrepreneuronfire.com/podcast/edwinhavens/

我需要在名为{的类中获取 MP3 文件的下载链接(即hxxp://traffic.libsyn.com/entrepreneuronfire/Edwin_Havens.mp3) {1}}(正如网络检查员检测到的那样)但我所有48小时的尝试都以烟雾结束。

下载链接在Chrome中显示良好(

spp-dloada
FireFox 38和IE11 ,但我需要在这两个浏览器中使用它们。

对于FireFox和IE11 HTML Snippet是

<a href="http://traffic.libsyn.com/entrepreneuronfire/Edwin_Havens.mp3" download="Edwin_Havens.mp3">
    <span class="spp-dloada"></span>
</a>

最奇怪的是当我点击下载按钮时(如上图所示) iframe变为

<div class="spp-controls">
<span class="spp-speed"/>
<span class="spp-share">
<div class="spp-share-options" style="display: none;">
    <a class="spp-share-icon spp-twitter-btn" href="">Share</a>
    <a class="spp-share-icon spp-fb-btn" href="">Share</a>
    <a class="spp-share-icon spp-gplus-btn" href="">Share</a>
    <!--<a href="" class="spp-share-icon spp-email-btn">Share</a>-->
</div>
</span>
<span class="spp-dload"/>
<span class="spp-play"/>

到目前为止尝试的是 -

软件:firebug,temper data,modifyheaders

语言:XPATH,CCS Selector,Jquery

编辑----对不起迟来的辅助

我也需要纯粹的 XPATH 表达不同的浏览器不同的行为

N.B。 HTML SNACKET仅供Chrome使用

2 个答案:

答案 0 :(得分:1)

链接内部的span有一个类,所以你可以像使用jQuery一样抓住parent'href'属性:

$('.spp-dloada').parent().attr('href');

Fiddle

(这当然是假设您有权修改本网站上的代码。)

RE:编辑

根据这里的答案:jquery select element by xpath

,它看起来不像IE支持XPath

答案 1 :(得分:1)

如果查看页面源,可以看到源与检查元素时看到的生成源不同。

您尝试获取的链接不在实际的页面源中,但是,这是:

<div class="smart-track-player  stp-color-ff6100" data-url="http://traffic.libsyn.com/entrepreneuronfire/Edwin_Havens.mp3" data-download="true"data-color="ff6100" data-title="Edwin Havens" data-artist="John Lee Dumas chats with" data-uid="IU5Uvc7G" ></div>

我猜这个页面有一些Javascript功能,可以从这个标记中生成一个可点击的链接。

尝试使用此jQuery代码访问下载URL:

$('.smart-track-player').attr('data-url');

获取此节点的XPath表达式将是这样的:

//div[@class='smart-track-player  stp-color-ff6100']