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

Техники локализации плавающих дефектов
онлайн, начало 19 апреля
Тестирование безопасности
онлайн, начало 21 апреля
Тестирование мобильных приложений
онлайн, начало 21 апреля
Автоматизатор мобильных приложений
онлайн, начало 21 апреля
Фотография

Python + Selenium.Webdriver не видит элемент


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

#1 MrThinker

MrThinker

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

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Коротков Дмитрий Анатольевич

Отправлено 25 сентября 2020 - 03:55

Для создания теста необходимо, чтобы selenium нажимал на кнопку: 

image.jpg

 

Вот сам код:

from selenium import webdriver
import time
driver = webdriver.Chrome()


driver.get("link")
time.sleep(2)
driver.find_element_by_class_name("sqdOP yWX7d _8A5w5 ").click()

 

Задержку использовал, чтобы все элементы успели прогрузиться

 

На выходе получается следующая ошибка:

 

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".sqdOP yWX7d     _8A5w5    "}
  (Session info: chrome=85.0.4183.121)

 

Около двух часов лазил на всяких форумах, но так и не нашел ответа. Буду искренне благодарен, если поможете.

 

P.S. Версии Python, Selenium.webdriver и Chrome установлены последние.


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 817 сообщений


Отправлено 25 сентября 2020 - 06:04

Не цепляйтесь к значениям классов, они могут измениться в новой версии приложения.

Если трудно - используйте xpath.


  • 1

#3 MrThinker

MrThinker

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

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Коротков Дмитрий Анатольевич

Отправлено 25 сентября 2020 - 07:39

Не цепляйтесь к значениям классов, они могут измениться в новой версии приложения.

Если трудно - используйте xpath.

Хорошо, приму к сведению. Попробовал через полный путь Xpath, все получилось))


  • 0

#4 romantiqueam

romantiqueam

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

  • Members
  • Pip
  • 13 сообщений
  • ФИО:Нечаев Антон

Отправлено 23 ноября 2020 - 13:25

В будущем, если хотите привязываться к имени класса - используйте в xpath функцию contains и цепляйте часть файла, так как в основном коде у вас имя класса с пробелом. В моей практике в случае с пробелом всегда были проблемы, поэтому лучше пользоваться формой xpath //element[contains(@class, "part-of-classname")]. Тогда у вас должно находить по имени класса)


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



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

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

Яндекс.Метрика
Реклама на портале