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

Фотография

Selenium + Python поиск элемента методом verifyElementPresent

verifyElementPresent

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

#1 Nikola

Nikola

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

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

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

Привет.  Сразу к делу меньше пыли  :victory:

 

Цель: Подтвердить наличие элемента на странице.

 

1. Есть картинка, которая говорит что, что-то плохо. Появляется после события, есть 2 вида. Все плохо(красная), все хорошо(зеленая).

Пример плохой кнопки:

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

 

2. Найти на странице данный элемент, и ничего с ним не делать. Только найти. Понять что он есть. Записать в лог что кнопка есть, и пойти дальше.

 

Я сделал так, судя по отрывистым хелпам в инете :)

from selenium import webdriver
driver = webdriver.Chrome()

driver.verifyElementPresent("//i[@class='glyphicon glyphicon-remove-circle client_fail ng-scope']")

Судя по хелпам, например http://automated-tes...ium-ide-rc/2440

То вроде как элемент должен быть найден, что дальше не понятно. Видимо возвращен 0 или true.

 

Но чет не ищет ) пишет ошибку: 

AttributeError: 'WebDriver' object has no attribute 'verifyElementPresent'

Буду рад помощи. Где я тупанул ))


  • 0

#2 Freiman

Freiman

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

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

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

Ну начнем с того, что вы нашли не тот хелп :)
Наиболее актуальный: http://selenium-pyth...s.io/index.html

Ну и такой функции в питоновском варианте нет. Вместо нее надо написать что-то вроде такого (нашлось на stackoverflow):

def is_element_present(self, how, what):
    try: self.driver.find_element(by=how, value=what)
    except NoSuchElementException as e: return False
    return True 

  • 0

#3 Nikola

Nikola

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

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

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

Элемент у меня такой.

 

Что то я не пойму, как мне это применить ?

Прикрепленные файлы


  • 0

#4 Nikola

Nikola

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

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

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

Видимо как то так.

def is_element_present(self, "//i[@class='glyphicon glyphicon-remove-circle client_fail ng-scope']", what):
    try: self.driver.find_element(by=how, value=what)
    except NoSuchElementException as e: return False
    return True

Что то я не пойму какие параметры куда пихать ?

Что такое self. что туда указывать ?

Что такое how, туда указывать путь на элемент ?

what это видимо что искать в элементе. Но у меня нет value параметра. У меня 2 вида элемента, Хорошо и Плохо, меняется только class с OK на Err.

 

Буду рад если подскажите, я что то пока не осилил 


  • 0

#5 Freiman

Freiman

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

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

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

Ну тут вам можно посоветовать только читать учебник по питону.

Сейчас вы не разбираетесь толком в основах программирования на этом языке, например, в том, как работают функции и что куда передавать.


  • 1

#6 Nikola

Nikola

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

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

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

Решение было найдено в этой теме http://software-test...8-rabota-s-dom/


  • 0


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

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