我正在尝试捕获页面上的数据,该页面仅在加载初始页面几秒钟后出现在页面上。当我运行下面的代码时,它返回正在加载... ,这是它在页面上最初所说的内容,但是我需要在下面添加逻辑,所以在运行时它会等到它没有说正在加载... ,然后匹配正在加载... 后显示的实际歌曲(或其他数据)。
Invoke-WebRequest -uri "http://www.2dayfm.com.au" -UseBasicParsing -SessionVariable mysession
$rawstationdata = Invoke-RestMethod -Uri "http://www.2dayfm.com.au" -WebSession $mysession
$null = $rawstationdata -match '\s+id\s*=\s*"nowPlayingInfo"\s*>(.*)<\Wspan';$matches[1]
我需要添加的逻辑是等到它不再显示正在加载... 并等待不超过30秒(作为超时),以防它从不改变加载...
我需要使用 UseBasicParsing 选项,因为我需要将其与Internet Explorer隔离,我还需要使用 Invoke-WebRequest 而不是IE方法,因为这样做作为工作流在Azure自动化中运行。