Перейти к содержимому

Фотография

Работа с DOM

DOM

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 14

#1 Nikola

Nikola

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 11 ноября 2016 - 11:18

Добрый день. 2-3 недели назад начал заниматься автоматизацией,

Python 3.4 + PyCharm + Webdriver selenium + chrome

 

Стал вопрос. По прочтению и вытаскиванию данных из DOM,

У меня есть поле с данным текстом, который тянется из бд.

Прикрепленный файл  2016-11-11_14h13_30.png   3,32К   0 Количество загрузок:

 

Нашел его в DOM

Прикрепленный файл  2016-11-11_14h14_19.png   2,02К   0 Количество загрузок:

 

Собственно вопрос, как теперь из дум вытащить эти данные в переменную.

 

Нашел вроде мануал http://internetka.in...-normalization/

Но у меня что то не заработало.

System.out.println("getAttribute(\"href\"): " + 
                            slider.getAttribute("href"));

при попытке вставить такой под. System и slider подчеркиваются красным, и я не очень понял что делать. Импорта Систем я не нашел.

Подскажите в чем дело ?


  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 11 ноября 2016 - 11:32

System.out.println

это Java, а не пайтон

 

а slider - это вебэлемент


  • 0

#3 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 11 ноября 2016 - 11:35

Да прочитайте вы уже учебник по питону. Вторая тема такого типа :)


  • 2

#4 Nikola

Nikola

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 11 ноября 2016 - 11:40

Это самый бездарный ответ. Читать книгу ? все 1000 страниц ? 

Читать 99.999999999999% того что мне сейчас не надо, и я это забуду ?

Как я и писал выше, занимаюсь этим очень мало. У меня нет свободного времени 0.5-1 год чтобы тупо читать.

Мне нужен результат, так как время не ждет.

 

Если и хотите себя показать Гуру. То дали бы лучше ссылку на книгу, и указали конкретную тему или страницу.

А сказать иди читай книгу, это и я могу так. Тут гуру не нужно быть.

Если не хотите давать подобную подсказку, просьба больше не тревожить меня сообщениями о прочтением 1000 страниц книги.

Я это и так знаю. 

 

**

Вопрос остался. Как мне применить тоже самое, только в моем варианте ?

Я понял что это Java. Подобное есть же в Python ?


  • 1

#5 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 11 ноября 2016 - 12:23

print slider.get_attribute("href")

  • 0

#6 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 11 ноября 2016 - 12:51

Это самый адекватный ответ на заданные вопросы. Нефиг садится за штурвал если тангаж от крена не отличаете.

https://www.codecade...om/learn/python
  • 6

#7 Nikola

Nikola

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 14 ноября 2016 - 08:19

Спасибо Little_CJIOH за подсказку. Немного додумал и получилось

Гуру Freiman просьба больше не беспокоить мои темы, буду очень благодарен.

 

Более точный код, чтобы сразу понять :)

slider = driver.find_element_by_xpath(путь к элементу)
print("getAttribute(\"value\"): " + slider.get_attribute("value")

Итог: getAttribute("value"): ул Южная, д 95

  • 0

#8 Nikola

Nikola

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 16 ноября 2016 - 11:13

Еще один вопрос.

Я верно понимаю что опция:

wait.until(EC.invisibility_of_element_located(By.XPATH, "elemeNt")

Ждет когда элемент пропадет из видимости ?

У меня отрабатывает так.

 

У меня есть кнопка, если на неё нажать открывается окно и задний фон получается неактивным. После нажатия в этом окно подтвердить, оно закрывается, и дальше продолжается работа в 1 окне.

 

Вот я пробовал ждать отсутствие элемента на открываемом окно. 

Идея была такая. Когда я нажимаю сохранить, то окно закрывается не сразу, а есть эффект затухания на 0.1-0.5 сек. из за этого тест часто падает, так как кнопка под 2 окно, вроде как активна, он пробует нажать и падает.

 

Этой опцией я пробовал ждать когда кнопка в 2 окне пропадет из виду, значит окно точно закрылось и можно идти дальше. 

Но у меня не отработало. И просто по таймауту wait = WebDriverWait(driver, 15)  15 сек продолжает работать.

Почему так ?


  • 0

#9 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 16 ноября 2016 - 13:26

Нам на тренинге не советовали использовать подобное ожидание.

Есть вероятность, что в тот момент, когда скрипт дойдет до него - элемента не будет в DOM.

Например, если скрипт успел пройти эту проверку в те мгновения, когда элемент ещё не появился.

Потом он появляется, но ожидания, когда он обратно пропадет уже нет, т.к. это ожидание уже успело пройти.

 

Если я правильно понимаю, Вам нужно не дождаться пропадания второго окна, а дождаться, пока кнопка в первом может быть кликнута.

Т.е. не invisibility_of_element_located на элементе второго окна, а что-то вроде element_to_be_clickable на нужной кнопке (не знаю, как это в питоне звучит правильно). 

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

 

Плюс, можно посмотреть за кодом кнопки, которую надо нажать в первом окне. Есть вероятность, что к ней, либо к элементу где-то внутри которого кнопка лежит, добавляется некий признак недоступности редактирования (что-то вроде "disabled" или "hidden"). Тогда можно попробовать подобрать локатор, учитывающий отсутствие этого признака.


  • 0

#10 daf.c

daf.c

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • Город:Königsberg (Ostpreußen)

Отправлено 17 ноября 2016 - 10:31

Это самый бездарный ответ. Читать книгу ? все 1000 страниц ? 

Читать 99.999999999999% того что мне сейчас не надо, и я это забуду ?

 

ВОН ИЗ ПРОФЕССИИ !!!!!!!!


  • 3

#11 Nikola

Nikola

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 21 ноября 2016 - 09:15

Ты про себя то ? :)

Хорошо что есть адекватные люди. которые все подсказали.

А понтовщики идите айфоны по 200к берите ))


  • 0

#12 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 21 ноября 2016 - 11:34

Зачем же Вы людей оскорбляете?

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

Не всем нравится подобное неуважение к профессии.

 

п.с.: скорее всего, 99.999999999999% того, что вы учили в школе - Вам на тот момент было абсолютно не нужно и скорее всего 99.999999999999% Вы уже забыли. По вашей логике - в школу Вы вообще зря ходили.

И если уж Вы столкнулись с какой-то проблемой (а с гуглом Вы вроде как тоже не дружите) вполне достаточно прочитать из всего учебника только пару страниц с содержанием (в поисках нужной темы) и пару страницу соответствующего раздела.

И хотя бы первые 1-2 главы, чтобы понимать синтаксис и не путать код Java с кодом Python.

Так что совет, за который Вы грубили человеку чуть ранее, более чем адекватный.

п.п.с: 1000 страниц аж за полгода-год? Ужас какой.


  • 1

#13 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 22 ноября 2016 - 11:52

Подпишусь под словами Татьяны и добавлю от себя:

 

Читать книгу ? все 1000 страниц ? 

Как я и писал выше, занимаюсь этим очень мало. У меня нет свободного времени 0.5-1 год чтобы тупо читать.

 

А на что время есть? На телевизор и лежание на диване?

Чтение книг — это не время, потраченное впустую, это вклад в себя.

 

Больше читаешь — больше знаешь. Все, что изучаешь дальше, накладывается на предыдущие знания и предыдущий опыт. Поэтому иногда полезно даже не только по прямой профессии книги читать. Об этом хорошо пишет Бах в книжке про обучение в стиле пиратства :)

 

Правда, читать желательно вдумчиво, а не тупо ))

 

PS — нисколько не оспариваю тот факт, что отдых тоже нужен


  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#14 Nikola

Nikola

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Nikola

Отправлено 23 ноября 2016 - 12:34

Да я не про то ))

Читать то я читаю.

Самая засада, это когда не знаешь про что читать. Или как называется. Вот и вопрос был. В идеале пример кода. Или хотя бы название того чего искать.


  • 0

#15 daf.c

daf.c

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • Город:Königsberg (Ostpreußen)

Отправлено 23 ноября 2016 - 20:27

Ты про себя то ? :)

 

 

Читать то я читаю.

Самая засада, это когда не знаешь про что читать. Или как называется. Вот и вопрос был. В идеале пример кода. Или хотя бы название того чего искать.

ты мне тыкай, когда школу закончишь.

А по сути, ты не знаешь что читать, потому что, не знаешь что тебе нужно, а не знаешь что тебе нужно, потому что, не понимаешь что ты делаешь. Так вот, что бы понимать, что тебе делать, тебе надо читать как это РАБОТАЕТ(!!) и как это делают другие, и, не поверишь, готовой инфы по этому поводу УЖЕ много в инете. И, о боже, есть закономерность, чем больше ты знаешь, тем лучше и быстрее ты постигаешь следующие знания!!

но школоте не понять


  • 0



Темы с аналогичным тегами DOM

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных