Селен не может найти элемент ввода - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь создать бота, который будет входить на определенный веб-сайт, а selenium просто отказывается сотрудничать (я успешно создал бота для другого сайта, но на этом как-то не получилось).

Я пытаюсь найти этот объект и отправить ему ключи

<input type="text" class="form-textbox form-textbox-text" id="account_name_text_field" can-field="accountName" autocomplete="off" autocorrect="off" autocapitalize="off" aria-required="true" required="required" aria-describedby="apple_id_field_label" spellcheck="false" ($focus)="appleIdFocusHandler()" ($keyup)="appleIdKeyupHandler()" ($blur)="appleIdBlurHandler()" placeholder="Apple ID" autofocus="">

Я уже пробовал:

username = driver.find_element_by_xpath("//input[type = 'text']")
username = driver.find_element_by_class_name("form-textbox-text")
username = driver.find_element_by_id("account_name_field")

И селен продолжает говорить, что элемента нет.Я ставлю спать перед строкой, чтобы сайт успел полностью загрузиться.Я все еще уверен, что это какая-то проблема новичка, так что извините за это.Просто не смог найти учебник, который бы работал для меня.

1 Ответ

0 голосов
/ 13 мая 2019

Хорошо. Так что благодаря @RKelley я получил то, что мне было нужно. Проблема была в том, что я присутствовал в неправильном iframe. Чтобы это исправить, я нажимаю ctrl + f в исходном коде сайта в поиске «iframe». Я нашел это:

<iframe src="https://idmsa.apple.com/appleauth/auth/signin?widgetKey=e0b80c3bf78523bfe80974d320935bfa30add02e1bff88ec2166c6bd5a706c42&amp;font=sf" width="100%" height="100%" id="aid-auth-widget-iFrame" scrolling="no" frameborder="0"></iframe>

Я переключился на это:

login_iframe = driver.find_element_by_id('aid-auth-widget-iFrame')
driver.switch_to.frame(login_iframe)

Тогда я нашел свой элемент по Id, и все работает. Спасибо, ребята!

...