Не удается найти элемент на странице входа Microsoft для форм Microsoft - PullRequest
0 голосов
/ 17 февраля 2020

В настоящее время я пытаюсь найти поле ввода электронной почты на странице входа в Microsoft, используя xpath (и другие), но после многих попыток я все еще не могу найти правильный элемент для него.

После копирования элемент со страницы, это заданный элемент:

<input type="email" class="form-control" placeholder="Email, phone, or Skype" aria-required="true" spellcheck="false" autocomplete="off" data-bind="
                                    hasFocus: focus,
                                    textInput: email,
                                    attr: {'placeholder': config.text.emailPlaceHolder, 'aria-invalid': !error}">

И это в настоящее время мой python код:

login = browser.find_element_by_xpath("//input[@class='form-control']")
login.send_keys(config.username)
login.send_keys(Keys.RETURN)

Я пробовал несколько раз, но все еще не могу получить правильный элемент, чтобы продолжить. После ввода https://forms.office.com/ я успешно захватил элемент входа, но застрял на следующей странице.

Обратите внимание, что это похоже на вопрос , но это не так так же, как элемент страницы совсем другой. Любая помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 17 февраля 2020

Ваш целевой элемент присутствует в iframe с id как hrdIframe. Поэтому вам нужно переключиться на фрейм, прежде чем взаимодействовать с элементом.

driver.switch_to.frame('hrdIframe')
driver.find_element_by_xpath("//input[@type='email']").send_keys(config.username)

Всегда проверяйте, вернулись ли вы к фрейму по умолчанию, как только закончите с действиями в iframe.

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