Phantomjs获取链接href及其子项
Phantomjs Get link href and its childs
我试图从一个带有phantomjs的网页中获取元素列表、链接href和它们的img src。
网页示例:
<ul>
<li>
<a href="link A">
<img src="link B"></img>
</a>
</li>
</ul>
我试过了:
var lis = page.evaluate(function() {
var link_img = new Array;
SrcAlt = [];
var li = document.getElementsByTagName("li");
for(q = 0; q < li.length; q++){
var a = li[q].getElementsByTagName('a')[0];
var link = a.getElementsByTagName("img")[0];
SrcAlt.push({"img": a.href, "link": link.src});
}
return SrcAlt;
});
它只返回"img":a href正确,我无法获得"链接",我不知道为什么。我该怎么修?
感谢
应该像提取a.href
:一样提取图像的src
属性
SrcAlt.push({"img": a.href, "link": link.src});
更新
为了确认答案的有效性,我在一个测试网页上运行了一个测试脚本。
网页:
<html>
<body>
<ul>
<li>
<a href="http://google.com">
<img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"></img>
</a>
</li>
</ul>
</body>
</html>
脚本:
var page = require('webpage').create();
page.open('http://localhost/phantomjs.php', function(status) {
var lis = page.evaluate(function() {
var link_img = SrcAlt = new Array;
var li = document.getElementsByTagName("li");
for(q = 0; q < li.length; q++){
var a = li[q].getElementsByTagName('a')[0];
var link = a.getElementsByTagName("img")[0];
SrcAlt.push({"img": a.href, "link": link.src});
}
return (SrcAlt);
});
console.log(JSON.stringify(lis));
phantom.exit();
});
结果:
[{"img":"http://google.com/","link":"https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"}]
如果答案仍然不适用,请向我们展示您的脚本、您的实际网页代码、脚本运行的结果、PhantomJS的版本-我们会尽力找出问题所在。
相关文章:
- 获取不带Jquery的嵌套父HREF节点
- 点击获取jQuery上的href属性
- 可以'当window.location.href时,无法从javascript获取post值
- 获取Href的集合
- 如何使用Javascript获取当前页面URL,并在<a href="[the_URL]”>
- 使用正则表达式获取特定的 href 值
- jQuery/js- 如何从基于 href 的类中获取菜单名称
- React路由器<link>如何在Jest测试中获取href的值
- 获取<a>href使用jQuery
- Jquery将href值获取到span应答器中
- JavaScript 获取要添加到锚标记中的 HREF 的页码
- 单击时获取 href 的顶部主机名
- 在IE 7中,如果链接是使用jQuery创建的,如何获取链接的href属性的文字值
- 从 JSON Href 获取在表中工作的按钮
- 从标记中的 href 获取查询字符串参数
- 通过 href 获取值的最佳方式
- Jquery - 如何从链接 href 获取页码并用作类
- 如何将数据从 href 获取到字符串并在之后使用它
- 当试图为href获取attr时获取#[object对象]
- anchor href获取当前url并使用javascript附加到下一页