Estoy tratando de obtener todos los enlaces para cada objeto, para hacer un registro de qué elementos son nuevos y cuáles son antiguos.
No entiendo cómo obtener enlaces de un sitio web de compras...
Este es el código que funciona.
$URI = 'http://superwidgets.wordpress.com/category/sql/' $HTML = Invoke-WebRequest -Uri $URI ($HTML.ParsedHtml.getElementsByTagName('h2') | Where{ $_.className -eq 'entry-title' } )(Referencia: https://social.technet.microsoft.com/wiki/contents/articles/26009.getting-information-from-web-pages-via-powershell.aspx )
Este código no
$url = 'https://www.norrona.com/nb-NO/o/herre/?displaysize=L%7CM&s=7&h=69000' $x = Invoke-WebRequest -Uri $URL ($x.ParsedHtml.getElementsByTagName('div') | Where{ $_.className -eq 'productcard' } )¿POR QUÉ?
Esto funciona, pero no hay ningún elemento div con un productcard clase de tarjeta de producto. Html y Javascript son solo un montón de texto que ningún navegador procesa cuando se recupera de PowerShell . Esto significa que no se ejecuta todo el javascript .
Hay un elemento <script> que es:
<script src="/api/translation/JavascriptInject?groups=Global&groups=ProductList&groups=Product&groups=Payment&groups=PrePurchase"></script> <main id="vueProductList" role="main"> </main> que probablemente debería invocarse para representar los elementos que busca. Pero esta es otra llamada a otro recurso web que probablemente devuelva objects javascript . Esto no indica si los objects tendrían un estilo con una productcard CSS de tarjeta de producto cuando se procesan mediante código javascript .
Probablemente esta no sea la forma correcta de obtener la lista de productos. Debe acceder directamente a la API (si está disponible) para obtener la lista de productos. Luego puede usar PowerShell para convertir json en objetos de PowerShell con el cmdlet ConvertFrom-Json powershell