我在尝试使用PowerShell从网站获取值时遇到了一个问题。
这是website。
我试图在这里得到数字“90”,在网页本身就是“已下载”的值(如果有更多下载,当你查看它时,这个数字可能会大一点):{{3 }}
<span title="Downloads" class="mod-card-info-tag" data-reactid=".0.0.0.2.0.0.2.2">
<div class="mod-card-info-tag-label" data-reactid=".0.0.0.2.0.0.2.2.0">90</div>
这是我用来尝试从上面的元素中获取数字“90”的PowerShell代码(我知道我最后应该使用“.innertext”,我只是使用get-member来查看是否有任何对象实测值):
$URI = "https://mods.factorio.com/mods/TpTheGreat/TpTheGreats%20Large%20Roboport%20Logistics%20Area"
$HTML = Invoke-WebRequest -Uri $URI
($HTML.ParsedHtml.getElementsByTagName("div") | Where{ $_.className -eq ‘mod-card-info-tag-label’ }) | Get-Member
在上面的代码中按标签名称调用元素时,我得到一个空对象。 我尝试了很多事情但没有成功。
如果你们中的任何人都可以看看并检查你是否能够解决我的问题,那将是非常好的。 非常感谢!!!
答案 0 :(得分:0)
另一种方法怎么样:
$URI = "https://mods.factorio.com/mods/TpTheGreat/TpTheGreats%20Large%20Roboport%20Logistics%20Area"
$HTML = Invoke-WebRequest -Uri $URI
$arr = $HTML.AllElements.Item(9).innerHTML -split ' = '
$myObj = $arr[1].replace("`n"," ")
$myObj = $myObj.replace(";","") | ConvertFrom-Json
$myObj.mod.mod.downloads_count