Задать вопрос
@Wellspring

Почему Selenium не находит элемент?

Добрый день.
Пытаюсь автоматизировать вход на устройства и выполнение типовых настроек.
2 модели оборудования, с одной все отлично отрабатывает, со второй не удается найти элемент.
Пробовал искать по селектору, XPath, пробовал в разных браузерах - безуспешно.

Код на python:
from selenium import webdriver
from time import sleep

ip = input('Введите ip: ')

browser=webdriver.Chrome()
browser.get(f'http://{ip}')
browser.implicitly_wait(10)

textarea=browser.find_element_by_css_selector('#username')
textarea.send_keys('admin')

textarea = browser.find_element_by_css_selector('#password')
textarea.send_keys('password')


Так отображается исходный код:
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<META http-equiv="Content-Type" content="text/html;charset=utf-8">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Cache-Control" content="no-cache">
<META http-equiv="Expires" content="0">
<style type="text/css">
html, body{height: 100%;margin: 0px;overflow: hidden;}
</style>
<script type="text/javascript">
function release(){document.frames['banner'].release();}
</script>
</head>
<body>
<iframe name="banner" 
id="banner" hideFocus="hideFocus" marginwidth="0" marginheight="0" 
src=" ../index.htm?clientIpAddr=10.0.0.1&IsRemote=0" 
frameborder="0" width="100%" height="100%">
</iframe>
</body>
</html>


Так отображается в консоли разработчика:
5e342c0b2f6f9748663317.jpeg

В результате выполнение получаю ошибку:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:“css selector”,“selector”:"#password"}

Буду признателен за помощь и замечания.
  • Вопрос задан
  • 6304 просмотра
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
freiman
@freiman
Тестировщик 12+
попробуйте добавить перед поиском элементов
browser.switch_to.frame("banner")
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы