Powershell..select drop down menu from web page
10,764
Try this:
# will select item with label 9
$dropdown = $ie.Document.getElementById("skuAndSize")
($dropdown | where {$_.innerHTML -eq "9"}).Selected = $true
Related videos on Youtube
Author by
RonM211
Updated on September 14, 2022Comments
-
RonM211 over 1 year
im trying to select a drop down menu on a website but im completely lost on how to do so. i googled the hell out of it but no luck on finding anything. this is what im trying to do..
connect to the web.. select a item from the drop down menu set quantity then add to cart ........................................................
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $objForm = New-Object System.Windows.Forms.Form $objForm.Text = "Web Link" $objForm.Size = New-Object System.Drawing.Size(300,150) $objForm.StartPosition = "CenterScreen" $objForm.KeyPreview = $True $objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") {$tag=$objTextBox.Text;$objForm.Close()}}) $objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") {$objForm.Close()}}) $OKButton = New-Object System.Windows.Forms.Button $OKButton.Location = New-Object System.Drawing.Size(100,75) $OKButton.Size = New-Object System.Drawing.Size(75,23) $OKButton.Text = "OK" $OKButton.Add_Click({$WebSite=$objTextBox.Text;$objForm.Close()}) $OKButton.TabIndex=1 $objForm.Controls.Add($OKButton) $objLabel = New-Object System.Windows.Forms.Label $objLabel.Location = New-Object System.Drawing.Size(10,20) $objLabel.Size = New-Object System.Drawing.Size(280,20) $objLabel.Text = "Enter Website Page:" $objForm.Controls.Add($objLabel) $objTextBox = New-Object System.Windows.Forms.TextBox $objTextBox.Location = New-Object System.Drawing.Size(10,40) $objTextBox.Size = New-Object System.Drawing.Size(260,20) $objTextBox.TabIndex = 0 $objForm.Controls.Add($objTextBox) $objForm.Topmost = $True $objForm.Add_Shown({$objForm.Activate()}) [void] $objForm.ShowDialog() #Connect to Website $ie = new-object -com "InternetExplorer.Application" $ie.navigate("$WebSite") $ie.visible = $true while ($ie.Busy -eq $true) {Start-Sleep -Milliseconds 1000; } i see this on the website, but i dont know hot to set the value or select the item. or is there easier way to do this when the webpage loads? #<select name="skuAndSize" class="size-dropdown mediumSelect footwear selectBox" style="display: none;"> <option value=""></option> <option name="skuId" value="2870325:7"> 7</option> <option class="size-not-in-stock" name="skuId" value="2870326:7.5"> 7.5</option> <option name="skuId" value="2870327:8"> 8</option> <option class="size-not-in-stock" name="skuId" value="2870328:8.5"> 8.5</option> <option name="skuId" value="2870329:9"> 9</option> <option name="skuId" value="2870330:9.5"> 9.5</option> <option name="skuId" value="2870331:10"> 10</option> <option class="size-not-in-stock" name="skuId" value="2870332:10.5"> 10.5</option> <option name="skuId" value="2870333:11"> 11</option> <option class="size-not-in-stock" name="skuId" value="2870334:11.5"> 11.5</option> <option name="skuId" value="2870335:12"> 12</option> <option class="size-not-in-stock" name="skuId" value="2870336:12.5"> 12.5</option> <option name="skuId" value="2870337:13"> 13</option> <option class="size-not-in-stock" name="skuId" value="2870338:13.5"> 13.5</option> <option name="skuId" value="2870339:14"> 14</option> <option class="size-not-in-stock" name="skuId" value="2870340:15"> 15</option> <option class="size-not-in-stock" name="skuId" value="2870341:16"> 16</option> <option class="size-not-in-stock" name="skuId" value="2870342:17"> 17</option> <option class="size-not-in-stock" name="skuId" value="2870343:18"> 18</option> </select> #<span class="selectBox-label" data-qa="pdp.buyingtools.size-dropdown">(9.5)</span>#