Рассматривая "другие" свойства html для элемента в Selenium - PullRequest
0 голосов
/ 03 июня 2019

Я использую Selenium для автоматизации некоторых очень простых задач ввода данных. К сожалению, я не имею никакого влияния на сайт, на котором размещена форма.

У меня есть несколько полей в форме, которые, похоже, различаются только в тех областях, на которые я не знаю, как заставить Selenium смотреть. Я нахожу все поля на странице и могу ввести в них текст, как показано ниже:

Dim i As Integer = 0
Dim elements = browser.FindElementsByClassName("form-control")
For Each elemnt In elements
    Try
        elemnt.SendKeys(i)
    Catch
    End Try
    i += 1
Next

К сожалению, это не будет долгосрочным решением, так как они могут изменить порядок ящиков или подобное без уведомления меня. Есть ли способ просмотреть весь тег <input ...>?

Выбор входов ниже:

<input class="form-control ng-valid ng-dirty ng-valid-parse ng-touched" data-ng-model="sQuoteName" kdfapp="Quoting" kdfpage="createDeal" kdfid="dealName" style="">

<input kdfapp="quote" kdfpage="quote" kdfid="amEmail" type="text" class="form-control ng-valid ng-dirty ng-valid-parse ng-touched" id="ciscoEmail" data-ng-model="data.suggestAm" placeholder="Email" style="">

<select name="sQuoteType" data-ng-model="sQuoteType" data-ng-change="changeQuoteType();" kdfapp="Quoting" kdfpage="createDeal" kdfid="selectedBuyingBehalf_xxx" class="ng-pristine ng-untouched ng-valid">
                    <option value="" class="ng-binding">Select</option>
                    <option value="2" class="ng-binding">Prime Contractor/Systems Integrator</option>
                    <option data-ng-show="stiEligible" value="1" class="ng-binding ng-hide">Solution Technology Integrator</option>
                     <option data-ng-show="partner.partnerBuyMthod == 'DIRECT'" value="3" class="ng-binding" style="">IT Service Provider (Outsourcing Deal)</option>
                </select>

Наиболее полезным дескриптором, похоже, является kdfid=

1 Ответ

1 голос
/ 03 июня 2019

Пожалуйста, используйте GetAttribute метод, чтобы получить Kdfid.

Пример кода:

   element.GetAttribute("kdfid")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...