试图让 powershell ISE 自动转到网站并单击“否”按钮。我试图通过标签名称获取元素,但它只是启动 Internet Explorer,但之后它无法获取元素,任何帮助将不胜感激:
$web = "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flnks.gd%2Fl%2FeyJhbGciOiJIUzI1NiJ9.eyJidWxsZXRpbl9saW5rX2lkIjoxMDEsInVyaSI6ImJwMjpjbGljayIsImJ1bGxldGluX2lkIjoiMjAyMTA1MTEuNDAyNjU1NjEiLCJ1cmwiOiJodHRwczovL3d3dy5mYWEuZ292L2Nvcm9uYXZpcnVzL3dlbGxuZXNzX2NoZWNrLyJ9.e4fctVtbkCtZ1yDQ2f2ZIyUCLgx3KceG4A0AIuiZTPk%2Fs%2F770634691%2Fbr%2F106182191351-l&data=04%7C01%7Csasha.tabib%40lstechllc.com%7Cb2bcd86b5a174ff6488108d914916338%7C93bb738069e94c7ca5fbfd30a5f59cc9%7C0%7C0%7C637563436952056800%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=0KULfdRzubnmWAdCqW94wE4%2F7fFTyuXSwNsCBSTGfkY%3D&reserved=0"
$ie = New-Object -Com InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate($web)
$ie = getelementsbytagname('div')
错误显示为在此处输入图像描述
您需要在该Navigate()
方法后等待一段时间才能让 IE 有时间完成。
另外,该getElementsByTagName()
方法不是一个独立的函数,而是$ie
.
尝试
$ie = New-Object -ComObject InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate("https://www.faa.gov/coronavirus/wellness_check/")
# wait for it..
while ($ie.Busy -and $ie.ReadyState -ne 4) { Start-Sleep -Seconds 1 }
# find the 'NO' button and click it
($ie.Document.getElementsByTagName('button') | Where-Object { $_.id -eq 'noInit' }).Click()
# wait for it..
while ($ie.Busy -and $ie.ReadyState -ne 4) { Start-Sleep -Seconds 1 }
# and so on..
# when all done, release the COM object from memory
$ie.Quit()
$null = [System.Runtime.Interopservices.Marshal]::ReleaseComObject($ie)
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()
PS 你的原始网址让我重定向到"https://www.faa.gov/coronavirus/wellness_check/"
,所以我在上面的代码中使用了它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句