Как пройти проверку формы AngularJS с селеном в python - PullRequest
0 голосов
/ 23 октября 2019

Я использовал селен с питоном для заполнения текстовой области на веб-странице. Теперь веб-страница имеет проверку ввода, так как Вы не можете нажать кнопку «Отправить», пока текстовая область не содержит текст. Проблема в том, что я отправляю текст, и он появляется, однако, как я понимаю, проверка Angular больше не реагирует и не перепроверяет мой драйвер. Но если я снова щелкну мышью по тому же тексту, он перезагрузит скрипт и пройдет проверку.

Как имитировать прикосновение к python и selenium, когда .clik () и .send_keys () неработа с проверкой?

Это перед проверкой с текстом в нем, отправленном с .send_keys ()

Это когда проверяется:

<textarea ng-attr-placeholder="{{field.placeholder}}" style="resize: none; overflow: hidden; overflow-wrap: break-word; height: 194px;" ng-switch-when="textarea" field="field" name="additional_comments" id="sp_formfield_additional_comments" class="form-control ng-scope ng-isolate-scope ng-valid ng-not-empty ng-dirty ng-valid-parse ng-touched" ng-model="field.stagedValue" ng-change="stagedValueChange()" data-type="textarea" ng-readonly="field.isReadonly()" role="textbox" aria-invalid="false"></textarea>

Я только предполагаю, чтоэто Angular, который проверяет, потому что когда текст проверяется снова, класс атрибута содержит «ng-touch».

Я знаю, что есть дополнительные шаги, но просто хочу показать, что не работает:

    elem = wait(driver, 20).until(EC.presence_of_element_located((By.ID, 'sp_formfield_additional_comments')))
    elem.click()
    elem.clear()
    elem.send_keys('Test 1 and 2. Same test again')
    elem.click()
    elem.send_keys(Keys.ENTER)
    elem = driver.find_elements_by_tag_name('button')
    elem.click()

Ну, ничего не происходит, потому что я не могу нажать кнопку отправки и получать предупреждения о том, что поле ввода должно содержать текст.

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