我想使用Cheerio和axios,从vscode市场page
的表中嵌套的tds中的div中获取div的文本“ Version”和“ 1.7.0”我已经尝试过这种方法以及其他多种方法来将div文本精确定位在底部,但是我不确定是否正确地解决了它。我不确定从哪里开始在表中获取嵌套元素,我很困惑。感谢您提供有关肯定简单的问题的帮助。
const cheerio = require('cheerio');
const axios = require('axios');
const url = "https://marketplace.visualstudio.com/items?itemName=bloumbs.borders-dark"
axios.get(url).then((response) => {
const $ = cheerio.load(response.data)
// With this I get no response:
$('.ux-table-metadata > tbody > tr > td > div').each(() => {
console.log($(this).text());
});
// And with this method, it return "null"
let version = $('.ux-table-metadata tbody tr td div').html($.versionText)
console.log(version)
})
这是我正在使用的html部分:
<div class="ux-section-other">
<h3 class="itemdetails-section-header right">More Info</h3>
<div>
<table class="ux-table-metadata">
<tbody>
<tr>
<td>
<div>Version</div>
</td>
<td>
<div>1.7.0</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
答案 0 :(得分:0)
$(".ux-table-metadata > tbody > tr > td").each(function() {
console.log($(this).find("div").html());
});
或
$(".ux-table-metadata > tbody > tr > td").each(function() {
console.log($(this).children().html());
});
通过jquery测试