我正在尝试从 vmware 硬件兼容性列表中自动收集数据,重点围绕 VSAN 产品。他们有一个可搜索的页面,一旦你提出请求,你就会得到一个结果列表。他们还有一个按钮,允许将结果“导出到 csv”。我正在尝试使用的 URL 是这个:
我正在尝试使用 Powershell 代码“单击”该“导出到 CSV”按钮。
我可以找到我试图单击的元素,并且我看到它有一个名为 ."click()" 的方法,但它在调用时没有任何作用。
$url = "https://www.vmware.com/resources/compatibility/search.php?deviceCategory=hdd&vsan_type=vsanhdd&page=1&display_interval=500&details=1"
$webrequest = Invoke-WebRequest -Uri $url
$a = $webrequest.ParsedHtml.getElementById("export_csv")
$a.Cick()
我注意到使用 Chromes 开发工具后,一旦单击 export_csv 按钮,就会向另一个 URL 发出发布请求,该 URL 实际上会生成文件。发布请求包含进入 CSV 的实际数据,我相信它已经在页面的某处生成,但我似乎无法从 $webrequest 变量中提取该表单。
此外,我还看到函数主体附加了一个导出表单,我很确定这是 POST 数据的来源(似乎有一个 javascript 函数在执行此操作)。但是,在手动检查页面时,我似乎无法以编程方式访问我可以在 Chrome 开发人员工具中看到的“表单”元素。
如果我可以提取 POST 数据,或者只是调用导出到 CSV 函数并获取它输出的文件,我会很高兴。
关于如何完成其中任何一个的任何想法?谢谢