Я использую Selenium, чтобы попытаться открыть веб-страницу, ввести учетные данные для входа в систему, нажать кнопку входа в систему, щелкнуть новый параметр управления изменениями, затем ввести свое имя и выбрать его из раскрывающегося списка.У меня все это работает до выпадающей части.Вот фотография моей записи:
Pic
Итак, вот код, который я использую (я использую модуль Selenium, потому что я думал, что это облегчит жизнь) У меня имя пользователя и пароль запутаны, поэтому они не отображаются в виде открытого текста
$LandeskUrl = "The site I'm going to is here"
$Driver = Start-SeChrome
Enter-SeUrl $LandeskUrl -Driver $Driver
###Logon screen
#user name
$UserName = Find-SeElement -Driver $Driver -Id "Ecom_User_ID"
Send-SeKeys -Element $UserName -Keys $passCreds.UserName
#password field
$Password = Find-SeElement -Driver $Driver -Id "Ecom_User_Password"
Send-SeKeys -Element $Password -Keys $thePass
#click logon button
$LogonButton = Find-SeElement -Drive $Driver -Id "logonButton"
Invoke-SeClick -Element $LogonButton
##Landesk screen
#select "Create New Change Control"
$NewCCR = Find-SeElement -Drive $Driver -Id "shortcutItem_4765085e-1b8b-44a1-a896-883efb86f151"
Invoke-SeClick -Element $NewCCR
#select user field and type name
$User = Find-SeElement -Drive $Driver -Id "mainForm-RaiseUser2Display"
Send-SeKeys -Element $User -Keys "My user name here"
#THIS IS WHERE I'M HAVING TROUBLE
$dropDown = $Driver.FindElementByCssSelector(".dropdownItem:nth-child(2)");
Invoke-SeClick -Element $dropDown
Вот HTML-код тестируемой страницы, плюс ссылка https://drive.google.com/file/d/1mYHqApsGue1IE-Zm9Eqwz2aiXKk7jIO2/view:
<div class="dropdown" id="mainForm-RaiseUser2-Dropdown" style="height: 503px; left: 299px; top: 171px; width: 973px; display: none;">
<div class="dropdownContent" style="height: 502.5px;"></div>
<div class="dropdownFooter"></div>
</div>
И вот вывод, который я получаю:
Exception calling "FindElementByCssSelector" with "1" argument(s): "no such
element: Unable to locate element: {"method":"css
selector","selector":".dropdownItem:nth-child(2)"}
(Session info: chrome=77.0.3865.90)"
At C:\Scripts\SeleniumWebAutomation.ps1:36 char:1
+ $dropDown = $Driver.FindElementByCssSelector(".dropdownItem:nth-child ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : NoSuchElementException
Invoke-SeClick : Cannot bind argument to parameter 'Element' because it is null.
At C:\Scripts\SeleniumWebAutomation.ps1:37 char:25
+ Invoke-SeClick -Element $dropDown
+ ~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Invoke-SeClick], ParameterBindingV
alidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Invok
e-SeClick