Я пытаюсь автоматизировать ввод некоторых данных в Chrome Браузер.
В частности, одним из полей, которое я хотел бы автоматизировать, является раскрывающийся список Work Shift. Этот список отображает список сегодняшних смен для машины. Это только сегодняшние смены, поэтому в списке может быть не более 3-х опций.
Прежде чем выбирать смену, вы должны выбрать Машину, а затем дату - и эти две вещи определяют, какие опции Вы видите доступным в поле Сдвиг.
'''
$MyURL = "http://servername/login" #declaring the site I want to start at
$Today = (Get-Date).ToString('d')
$Now = (Get-Date).ToString('t')
$env:COMPUTERNAME #referencing computername for later
$Env:Path += ";C:\temp\PS-SELENIUM\Selenium"
Add-Type -Path "C:\temp\PS-SELENIUM\Selenium\WebDriver.Dll"
Add-Type -Path "c:\temp\PS-SELENIUM\Selenium\WebDriver.Support.Dll"
$ChromeDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver
$ChromeDriver.Navigate().GoToURL($MyURL)
$ChromeDriver.FindElementbyName("User").SendKeys("plant")
$ChromeDriver.FindElementbyName("password").SendKeys("plant")
$ChromeDriver.FindElementbyName("submit").Submit()
$ChromeDriver.Navigate().GoToURL("http://servername/machinepage")
$ChromeDriver.FindElementbyName("STATIONLINK").SendKeys("202") #assigning a machineID
$ChromeDriver.FindElementByName("SELECTEDDATE").SendKeys("$Today") #inputting the date
---- Здесь я думаю, что я хочу вставить некоторый код, чтобы проанализировать, какие сдвиги доступны из выбора, и затем оценить, какой сдвиг перекрывается с текущее время, чтобы определить, следует ли заполнять поле a 1,2 или 3 (в данном случае) .------
---- Ниже приведена информация о веб-странице, на которой размещена информация о смене. После выбора машины и даты.
<select id="SHIFTLINK" name="SHIFTLINK" onchange="SelectedShift(this);" required="" style=""
xpath="1">
<option value=""></option>
<option value="285426">1 [2/20/2020 6:00:00 AM - 2/20/2020 2:30:00 PM]</option>
<option value="285427">2 [2/20/2020 2:30:00 PM - 2/20/2020 11:00:00 PM]</option>
<option value="285428">3 [2/20/2020 11:00:00 PM - 2/21/2020 6:00:00 AM]</option>
</select>
$ChromeDriver.FindElementByName("SHIFTLINK").SendKeys('2')
$ChromeDriver.FindElementByName("SHIFTLINK").SendKeys('2') #intentional
$ChromeDriver.FindElementByID("Submit").Submit()
Я прочитал в Интернете, что мне может понадобиться использовать функцию / оператор Select для вызова этих значений. Я пробовал параметр List - но я получаю сообщение об ошибке "термин, не распознанный как имя командлета". Вот строка c, которая мне не подходит:
List<WebElement> options = $ChromeDriver.FindElementsbyname("SHIFTLINK") #- doesn't work because List<WebElement> is not recognized