想为我在文本文件中列出的所有URL中检验P HTML元素的Innertext。我为此很新家,但认为我可以解决它。ATM。我失败了,因为我无法处理如何正确通过每个数组项目以正确地将循环传递:
$theURLS = Import-CSV linkek_alatt.txt
$item = New-Object System.Collections.ArrayList
for ($i=0; $i -le $theURLS.length;$i++)
{
foreach($item in $theURLS)
{
$Site = Invoke-WebRequest -URI $item
$Igotit = $Site.AllElements | Where-Object {$_.tagName -eq "P"} |
Select -First 1 -Skip 3 -ExpandProperty innerText
$Igotit
}
}
> FilteredContent.txt
过滤文件应包含信息。
目前,我收到一个" Invoke -webrequest:无法绑定参数'uri'。无法转换"@{"错误,我看到重复的第一个URL和一个随机 - 下一步的一个 - 错误消息中的一个。任何想法都欢迎。此致,geza
根据注释,问题发生是因为您在此处使用Import-CSV
:
$theURLS = Import-CSV linkek_alatt.txt
这尝试通过将文件中的第一行文本用作标题来创建一个powershell对象。
如果您的.txt文件不是.csv文件,并且要返回一系列字符串,则使用Get-Content
:
$theURLS = Get-Content linkek_alatt.txt
如果您的文件是CSV文件,则您需要在Invoke-WebRequest
中使用该文件时引用与URL标题匹配的属性名称。例如,如果它的标题为" url":
Invoke-WebRequest -URI $item.URL
,但我怀疑您不是您的情况。