Выберите элемент, который выделяется при наведении на :: перед - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь написать тест, который выбирает элемент и затем нажимает на этот элемент. В Chrome я вижу, что элемент можно найти, наведя курсор на ::before, но xpath не распознает его как действительный локатор.

Интересующий меня HTML-код:

<custom-checkbox ng-model="additionalOption.isSelectedForReorder" 
data-selenium-id="AquasoftTrialCheckbox_AutoReorder_true_IsTrialOnly_false" 
value="AquaSoft Daily 15pk" ng-change="vm.additonalOptionSelected(additionalOption)" 
accessibility-label="Select brand" 
class="ng-untouched ng-valid ng-isolate-scope ng-not-empty ng-dirty ng-valid-parse" 
aria-invalid="false" style="">


<div class="CustomCheckbox Radiobox">
        <input ng-attr-id="{{vm.id}}" type="checkbox" ng-disabled="vm.isDisabled" id="293515277">
        <label ng-attr-for="{{vm.id}}" ng-transclude="" for="293515277">
        ::before 
            <span class="d-none ng-binding ng-scope">Select brand</span>
        </label>
    </div>

</custom-checkbox>`

Я пытался использовать by.xpath("//custom-checkbox[@data-selenium-id='AquasoftTrialCheckbox_AutoReorder_true_IsTrialOnly_false']")

by.xpath("//custom-checkbox[@data-selenium-id='AquasoftTrialCheckbox_AutoReorder_true_IsTrialOnly_false']/div/input"

by.xpath("//custom-checkbox[@data-selenium-id='AquasoftTrialCheckbox_AutoReorder_true_IsTrialOnly_false']"/div/label/span

и by.xpath("//custom-checkbox[@data-selenium-id='AquasoftTrialCheckbox_AutoReorder_true_IsTrialOnly_false']/div/label/::before"

Когда я пробую первый, я получаю ошибку, перехваченную щелчком, а другие просто говорят, что не могут найти элемент.

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